Java API通过Maven打包后,提示找不到LZ4主类,NoClassDefFoundError:net/jpountz/lz4...



请先 登录 后评论

最佳答案 2022-03-31 10:36

原因分析:Maven打包时没有包含第三方依赖包

解决方案:

1. 运行jar包时,将Java API源码下的lib文件的jar文件引入(冒号分隔多个依赖)

java -cp ".:./api-java-1.0.27-SNAPSHOT.jar:./lz4-java-1.7.1.jar" ...

2.使用mvn assembly插件打包

首先修改pom文件

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <appendAssemblyId>false</appendAssemblyId>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.xxdb.MTW_ParThread_Test.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>assembly</goal>
            </goals>
        </execution>
    </executions>
</plugin>

之后运行命令

mvn assembly:assembly clean install
请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,842 浏览
  • Order Wang 提出于 2022-03-31 10:22

相似问题