gpt4 book ai didi

java - Ubuntu Java-jar 错误 : Could not find or load main class

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:27 27 4
gpt4 key购买 nike

我开发了一个简单的java程序,它只有一个主类如下:

public class HelloTest {

public static void main(String[] args){
System.out.println("@@@@@@@@@@@@ Hello World! From HelloTest!! ");
}
}

并且我使用maven assembly plugin将这个程序打包为一个可运行的jar,jar包结构如下:

Test3-0.0.1-assembly.jar

|-----META-INF
| |
| |---MANIFEST.MF
|
|-----Test3-0.0.1.jar

这是 list 文件:

Manifest-Version: 1.0
Build-Jdk: 1.6.0_18
Class-Path: Test3-0.0.1.jar
Created-By: Apache Maven
Main-Class: com.example.HelloTest
Archiver-Version: Plexus Archiver

运行'mvn clean packge'后,maven在目标目录中生成程序集jar,但是程序集jar的 list 文件缺少'Class-Path'字段,所以我必须添加'Class-用 winrar 手动路径。不知道是不是maven assembly插件的bug...

最后,我在 Windows 中使用“java -jar Test3-0.0.1-assembly.jar”,它工作正常。但是我将 jar 复制到 linux(ubuntu),使用相同的命令“java -jar Test3-0.0.1-assembly.jar”,它显示错误:无法找到或加载主类 com.example.HelloTest.

我真的不知道为什么它在两个系统中看起来如此不同,只是同一个jar。谁能告诉我如何解决这个问题(使 jar 可以在 linux 中运行)?谢谢。

最佳答案

我使用 maven-jar-plugin 生成 MANIFEST。这是我的配置,也许这​​会有所帮助:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

关于java - Ubuntu Java-jar 错误 : Could not find or load main class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22755238/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com