电光石火-穿越时空电光石火-穿越时空


运行jar包找不到主类

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

本博客所有文章如无特别注明均为原创。作者:似水的流年
版权所有:《电光石火-穿越时空》 => 运行jar包找不到主类
本文地址:http://ilkhome.cn/index.php/archives/208/
欢迎转载!复制或转载请以超链接形式注明,文章为 似水的流年 原创,并注明原文地址 运行jar包找不到主类,谢谢。

评论