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