的的核心部件斯坦福自然语言处理工具包已经在Java代码stanford-corenlp-1.3.4.jar
文件,并在一个单独的(非常大的)模型文件stanford-corenlp-1.3.4-models.jar
文件。 Maven的不下载模型自动文件,但只有当你添加<classifier>models</classifier>
行到.pom。 这里是取两个密码和车型.pom片段。
<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
。
首先谢谢你的问题。 它回答了我关于如何以包括数据和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>
此外,确保我的罐子包括我使用的库:
<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目录下。