mvn打包,运行jar包报错:Class not fund

来源:互联网 发布:知己知彼软件破解版 编辑:程序博客网 时间:2024/06/14 13:36

解决mvn打包后运行jar包报错,Class not fund

## mvn打包项目后生成jar包,放到服务器上运行jar包报错:Class not not fund,其中一个依赖的jar包找不到。但是本地运行不会报错。找到jar包解压发现里面没有依赖文件。

在网上找了好多办法都没能改好,最后参考了这位兄弟的博客,原因是mvn没有把依赖的包打包进去。

要给mvn添加一个插件,把依赖文件打包到jar包里面。maven-assembly-plugin地址在这里,然后配置一下。配置如下:

<project>  [...]<build>    [...]    <plugins>      <plugin>        <artifactId>maven-assembly-plugin</artifactId>        <version>3.0.0</version>        <configuration>          <descriptorRefs>            <descriptorRef>jar-with-dependencies</descriptorRef>//后缀          </descriptorRefs>        </configuration>        <executions>          <execution>            <id>make-assembly</id>             <phase>package</phase> <!-- 在package阶段打包 -->            <goals>              <goal>single</goal>            </goals>          </execution>        </executions>      </plugin>      [...]</project>

这样打包出来的文件会带有一个原来的jar包和一个带有jar-with-dependencies后缀的jar包,这个包就是有依赖文件的包。然后运行就不会报错了。

<phase>package</phase>

这里配置的事在什么阶段把依赖包打进去。
如果不设置需要手动调用
maven-assembly

0 0