Maven选择stanford-corenlp模型或非模型,而不是两者

时间:2017-12-01 19:10:11

标签: maven stanford-nlp

文档说包括:

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

不幸的是,在尝试构建RPM时,程序集插件输出:

[INFO] [INFO]读取程序集描述符:src / main / assembly / assembly.xml [INFO] [INFO] lib / stanford-corenlp-3.8.0.jar已添加,跳过

我们在最终结果中只得到第一个jar而不是模型。

我知道这是我们最终的事情,因为它似乎对其他人有效,但有没有人有任何想法可能出错?搜索与maven相关的任何内容,跳过&#34;分类器&#34;部分没有工作,因为在很多情况下使用了分类器这个词。

1 个答案:

答案 0 :(得分:0)

我们最终找到了答案 - 在我们的assembly.xml中,我们有了这个:

<dependencySet>
  <outputFileNameMapping>${artifact.artifactId}-${artifact.version}.${artifact.extension}</outputFileNameMapping>
  <outputDirectory>/lib</outputDirectory>
  <useProjectArtifact>true</useProjectArtifact>
  <useTransitiveDependencies>true</useTransitiveDependencies>
  <unpack>false</unpack>
  <scope>runtime</scope>
</dependencySet>

outputFileNameMapping值覆盖了默认值,并且缺少包含分类器的段:${dashClassifier?}

当前的Maven默认值为:${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}

所以我们刚刚删除了outputFileNameMapping声明并修复了它。

https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html