繁体   English   中英

Ubuntu Java -jar错误:找不到或加载主类

[英]Ubuntu Java -jar error: Could not find or load main class

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

public class HelloTest {

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

我使用maven程序集插件将此程序打包为可运行的jar,jar包的结构如下:

Test3-0.0.1-assembly.jar

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

这是清单文件:

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的清单文件缺少'Class-Path'字段 ,因此我必须使用winrar手动添加'Class-Path'。 我不知道这是否是Maven程序集插件错误...

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

我真的不知道为什么在同一罐子的两个系统中它看起来如此不同。 谁能说出解决问题的方法(使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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM