2013-01-10 17 views
13

Stanford Natural Language Processing Toolkitのコアコンポーネントはstanford-corenlp-1.3.4.jarファイルにJavaコードを持ち、別のstanford-corenlp-1.3.4-models.jarファイルに非常に大きなモデルファイルを持っています。 Mavenは自動的にモデルファイルをダウンロードしませんが、.pomに<classifier>models</classifier>行を追加した場合に限ります。ここに、コードとモデルの両方を取得する.pomスニペットがあります。Maven依存関係:getはスタンフォードNLPモデルファイルをダウンロードしません

<dependency> 
     <groupId>edu.stanford.nlp</groupId> 
     <artifactId>stanford-corenlp</artifactId> 
     <version>1.3.4</version> 
     <classifier>models</classifier> 
    </dependency> 

私は同じことをコマンドラインから実行する方法を理解しようとしています。これはMaven dependency:getプラグインタスクがこれを行う方法であるようです。次のコマンドラインは、それが

mvn dependency:get \ 
    -DgroupId=edu.stanford.nlp \ 
    -DartifactId=stanford-corenlp \ 
    -Dversion=LATEST \ 
    -Dclassifier=models \ 
    -DrepoUrl=repo1.maven.org 

正しいだろうように思えるが、それだけで、コードのJarファイルではなく、モデルのJarファイルをダウンロードします。

なぜこのようなケースが考えられますか?私はこれがスタンフォードNLPパッケージの問題であるのか、それともclassifierオプションのより一般的な問題がdependency:getであるのか分かりません。

+0

こんにちはビル、私たちは専門家ではなく、何か間違っている可能性がありますが、私には何が分かりません。 –

+2

SBTでScalaを使っている人は誰でもこれを使うことができます: 'val stanfordNlp =" edu.stanford.nlp "%" stanford-corenlp "%" 1.3.4 "アーティファクト(Artifact("スタンフォードコアnlp "、"モデル ")、Artifact "stanford-corenlp")) ' – tysonjh

答えて

4

ご質問ありがとうございます。それはデータとlibの両方をどのように含めるかについて私の質問に答えました。私はMavenのをやっている共有しますが、私はこれがあなたの質問を満たすかわからない。また

<dependency> 
    <groupId>edu.stanford.nlp</groupId> 
    <artifactId>stanford-corenlp</artifactId> 
    <version>1.3.4</version> 
    <classifier>models</classifier> 
</dependency> 
<dependency> 
     <groupId>edu.stanford.nlp</groupId> 
     <artifactId>stanford-corenlp</artifactId> 
     <version>1.3.4</version> 
    </dependency> 
    <dependency> 
     <groupId>edu.stanford.nlp</groupId> 
     <artifactId>stanford-parser</artifactId> 
     <version>2.0.4</version> 
    </dependency> 

を、私のjarファイルは、私が使用しLIBSが含まれていることを確認します

最後に
<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
     <archive> 
      <manifest> 
      <mainClass>org.example.nlpservice.NLP</mainClass> 
      </manifest> 
     </archive> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
     </configuration> 
     <executions> 
     <execution> 
      <id>make-assembly</id> <!-- this is used for inheritance merges --> 
      <phase>package</phase> <!-- bind to the packaging phase --> 
      <goals> 
      <goal>single</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
    </build> 

あなたはまだmvn deployまたはmvn installを試しましたか?ローカルのmvnキャッシュ/リポジトリから/ libディレクトリにコピーすることができます。

+0

「ソース」パッケージはありますか? 私はのソースを試しましたが、運はありません。 –

関連する問題