java - Maven 程序集插件不再生成 jar-with-dependencies,为什么?

标签 java maven-2 maven

这是在我的 pom.xml 中:

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
    <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
    <archive>
        <manifest>
            <mainClass>tahrir.TrMain</mainClass>
        </manifest>
    </archive>
</configuration>
</plugin>

您可以查看整个 pom.xml here .

这是 output当我运行“mvn -DskipTests=true assembly:assembly”时。

请注意,它似乎正在构建
tahrir/target/tahrir-0.0.1-SNAPSHOT.jar
但不是
tahrir/target/tahrir-0.0.1-SNAPSHOT-jar-with-dependencies.jar.

既然这是我在 pom 中指定的 descriptionRef,为什么不构建 jar-with-dependencies?这之前工作正常,我不知道可能发生了什么变化来破坏它...?

最佳答案

$ mvn -DskipTests=true assembly:assembly

看起来你是直接调用assembly assembly的目标插件而不是使用像 install 这样的 Maven 生命周期或 package .

[INFO] --- proguard-maven-plugin:2.0.4:proguard (default) @ tahrir ---

还有 proguard plugin在组装完成之前启动。它会查找尚不存在的 jar-with-dependencies

编辑:您可以尝试将程序集插件显式绑定(bind)到 package添加以下内容:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2.1</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>tahrir.TrMain</mainClass>
            </manifest>
        </archive>
     </configuration>
    <executions>
        <execution>
            <id>make-assembly</id> 
            <phase>package</phase> <!-- bind to the packaging phase -->
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

然后运行mvn packagemvn install根据需要跳过测试。

关于java - Maven 程序集插件不再生成 jar-with-dependencies,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6920729/

相关文章:

java - 是否可以让单选按钮彼此不相邻但仍可在同一个单选组中工作?

java - 如何让中文语言环境以中文显示为特别简体或繁体

java - 检索子关系 Cassandra 与 Kundera 的对象(Pelops - JPA)

drupal - 使用 Maven 设置 Drupal PHP 项目

java - Maven 没有在 Bamboo 上正确选择 JAVA_HOME

java - SPRING REST 中与父类的响应

java - 在 Maven 中使用 AspectJ 方面编织生产类,仅用于测试执行

maven-2 - Maven : In the nar-plugin, 你能指定从哪里获取包含吗?

java - 让 Maven 父项目在部署任何模块之前测试所有模块

java - 属性 'driverClassName' 抛出异常;嵌套异常是 java.lang.IllegalStateException : Could not load JDBC driver class