Maven的依赖关系:获取不下载斯坦福NLP模型文件(Maven dependency:get do

2019-07-18 01:16发布

的的核心部件斯坦福自然语言处理工具包已经在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

Answer 1:

首先谢谢你的问题。 它回答了我关于如何以包括数据和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 deploymvn install了吗? 你可以从本地缓存MVN /回购复制到/ lib目录下。



文章来源: Maven dependency:get does not download Stanford NLP model files