Java Maven正在生成2个罐子,而我只需要一个

Java Maven正在生成2个罐子,而我只需要一个,java,maven,Java,Maven,这是我的“mvn package”命令的一些输出: [INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ my-project --- [INFO] Building jar: /Users/sfrazer/projects/my-project/target/my-project-0.0.1.jar [INFO] [INFO] --- maven-assembly-plugin:2.2-beta-5:single (jar-with-de

这是我的“mvn package”命令的一些输出:

[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ my-project ---
[INFO] Building jar: /Users/sfrazer/projects/my-project/target/my-project-0.0.1.jar
[INFO] 
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (jar-with-dependencies) @ my-project ---
[INFO] Building jar: /Users/sfrazer/projects/my-project/target/my-project-0.0.1-jar-with-dependencies.jar
第二个jar是我指定要构建的正确jar,但是我不知道为什么要创建第一个jar。所以我有两个问题:

1) 为什么要创建第一个JAR

2) 我如何使第二个罐子的命名方式与第一个相同

xml非常长,但这里有构建第二个JAR的相关部分:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <mainClass>my.package.App</mainClass>
      </manifest>
    </archive>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
  </configuration>
  <executions>
    <execution>
      <id>jar-with-dependencies</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
</plugin>

maven汇编插件
my.package.App
带有依赖项的jar
带有依赖项的jar
包裹
单一的

因为带有依赖项的jar执行被定义为额外的执行,而不是常规jar目标的替代品,后者是常规包或安装运行的一部分


有些人试图在中禁用它,但一般来说,当制作包含maven中所有依赖项的jar时,“普通jar”只是与它一起打包/保持不变。

因为具有依赖项的jar执行被定义为额外执行,而不是常规jar目标的替代,这是常规软件包或安装运行的一部分


有些人试图在中禁用它,但一般来说,当使用maven中包含的所有依赖项制作一个jar时,“普通jar”与它一起打包/保持不变。

my-project-0.0.1.jar
之所以创建,是因为
maven-jar-plugin:jar
会自动绑定到具有
jar
打包的项目的
package
阶段


禁用它是一个坏主意,因为依赖于
myproject
的工件的其他项目会希望只包含一个JAR
myproject
,而不是包含所有依赖项的超级jar。

my-project-0.0.1.jar
之所以创建,是因为
maven-jar-plugin:jar
自动绑定到具有
jar
打包的项目的
打包阶段


禁用它是一个坏主意,因为其他依赖于
我的项目
的工件的项目将只包含
我的项目
的JAR,而不是包含所有依赖项的超级JAR。

这是有道理的,我肯定会把它放在那里。谢谢这是有道理的,我一定会把它留在那里。谢谢