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

解决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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值