在正确编译好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即可生成