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-pluginartifactId>
        <version>3.0.0version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependenciesdescriptorRef>//后缀
          descriptorRefs>
        configuration>
        <executions>
          <execution>
            <id>make-assemblyid> 
            <phase>packagephase> 
            <goals>
              <goal>singlegoal>
            goals>
          execution>
        executions>
      plugin>
      [...]
project>

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

<phase>packagephase>

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

你可能感兴趣的:(web工具,Java,mvn-打包,插件,jar)