運行jar包找不到主類

  • 2019 年 12 月 8 日
  • 筆記

在正確編譯好java程序之後,打包,然後在命令行輸入java -jar ,卻彈出找不到或無法加載主類。

一檢查,我的path環境變量都是對的呀?java命令,程序也可以執行啊?怎麼java -jar就不行了呢? 解決辦法就是,修改MANIFEST文件。

然後發現,白花花的一片咧,肯定是需要添些東西的。 我打包的是名為com.ilkhome的包,裏面有三個class,其中main.class是需要運行的。 於是,我在MANIFEST.MF文件裏面多添加了一行:Main-Class: com.ilkhome.main。 Main-Class:為固定前綴 com.ilkhome.main 為所要運行的類名,別忘了帶上前面的packege的名字。 至此,問題解決。

如果是maven 則還要要在xml加上

  <build>        <plugins>        <plugin>          <groupId>org.apache.maven.plugins</groupId>          <artifactId>maven-jar-plugin</artifactId>          <version>2.4</version>          <configuration>              <archive>                  <manifest>                      <addClasspath>true</addClasspath>                      <classpathPrefix>lib/</classpathPrefix>                      <mainClass>com.ilkhome.main</mainClass>                  </manifest>              </archive>          </configuration>        </plugin>       </plugins>    </build>

然後maven install即可生成