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