使用mavenassemblyplugin创建的java Jar未与mvn安装一起运行
我正在使用maven assembly插件创建一个jar文件。 最小pom文件如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.org.taptest.tests.TestsRunningAsTAP</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
当我运行mvn clean install
时,它会创建一个jar文件,但当我使用java -jar <jarfileName>
运行jar文件时,它会显示Error: Could not find or load main class
。
如果我编辑了上面的pom
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.org.taptest.tests.TestsRunningAsTAP</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
在运行mvn clean install
之后,我运行mvn compile test-compile assembly-plugin
,它会生成相同的jar文件,但这个jar文件会按预期运行。
所以,我的问题是,为什么第一种方法的jar文件不运行,mvn compile test-compile assembly-plugin
命令具体做什么
共 (0) 个答案