簡體   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