2013-01-10 19 views
13

Stanford Natural Language Processing Toolkit'un çekirdek bileşeni, stanford-corenlp-1.3.4.jar dosyasında Java kodu içeriyor ve ayrı bir stanford-corenlp-1.3.4-models.jar dosyasında (çok büyük) model dosyalarına sahip. Maven, model dosyalarını otomatik olarak indirmez, ancak yalnızca .pom'a <classifier>models</classifier> satırını eklerseniz. İşte hem kodu hem de modelleri getiren bir .pom snippet'i.Maven bağımlılığı: get, Stanford NLP model dosyalarını karşıdan yüklemiyor

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

Aynı şeyi komut satırından nasıl yapacağını anlamaya çalışıyorum. Maven dependency:get eklenti görevi bunu yapmanın yolu gibi görünüyor. o

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

Ancak doğru olacaktır gibi aşağıdaki komut satırı sadece kod Jar dosyası değil modeller Jar dosyasını indirir, görünüyor.

Bu durumun neden böyle olduğu hakkında bir fikrin var mı? Bu sadece Stanford NLP paketiyle ilgili bir sorun mu yoksa dependency:get'un classifier seçeneğiyle daha genel bir sorun olup olmadığından emin değilim.

+0

Merhaba Bill, biz maven uzmanları değiliz ve yanlış bir şeyler yapıyor olabiliriz, ama, neyin bana açık olduğu belli değil, ve bir başkasının bize neyi anlatması gerekecek. –

+2

SBT ile Scala kullanan herkes bunu kullanabilir: "val stanfordNlp =" edu.stanford.nlp "%" stanford-corenlp "%" 1.3.4 "eserler (Artifact (" stanford-corenlp "," modeller "), Artifact ("stanford-corenlp")) – tysonjh

cevap

4

Sorunuz için öncelikle teşekkür ederiz. Hem verileri hem de lib'i nasıl dahil edeceğime dair sorumu yanıtladı. Ben Maven ile ne yapıyorum paylaşacağız, ama emin değilim bu sorunuza tatmin:

<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> 

Son olarak:

Ayrıca
<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> 

, emin olun benim kavanoz kullandığım kütüphanelerini içerir , mvn deploy veya mvn install'u denediniz mi? Yerel mvn önbelleğinizden/repo'unuzdan bir/lib dizinine kopyalayabilirsiniz.

+0

"Kaynaklar" paketi var mı? kaynağını denedim, ancak şans yok. –

İlgili konular