運行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即可生成