jar是使用maven程序集插件创建的,未与mvn安装一起运行

s5a0g9ez  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(225)

我正在使用maven汇编插件创建一个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> 它说 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 命令行吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题