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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏静默虚空的博客

[Java 基础]数组

数组初始化 定义数组语法格式 定义数组有两种方式,如下两种格式是等价的: int[] a1; int a1[];  注:在C/C++中,不支持第一种格式。但是...

19980
来自专栏静默虚空的博客

JAVA 设计模式 组合模式

用途 组合模式 (Component) 将对象组合成树形结构以表示“部分-整体”的层次结构。 组合模式使得用户对单个对象和组合对象的使用具有唯一性。 组合模式是...

205100
来自专栏静默虚空的博客

JAVA 设计模式 状态模式

用途 状态模式 (State) 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式是一种行为型模式。 结构 ? 图-状态模式结...

24660
来自专栏静默虚空的博客

JAVA 设计模式 迭代器模式

用途 迭代器模式 (Iterator) 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 迭代器模式是一种行为型模式。 结构 ? ...

21150
来自专栏静默虚空的博客

JAVA 设计模式 观察者模式

用途 观察者模式 (Observer) 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态发生变化时,会通知所...

22570
来自专栏静默虚空的博客

JAVA 设计模式 装饰者模式

用途 装饰者模式 (Decorator) 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。 装饰者模式是一种结...

20680
来自专栏静默虚空的博客

JAVA 设计模式 职责链模式

用途 职责链模式 (Chain Of Responsibility) 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 将这个对象连...

200100
来自专栏静默虚空的博客

JAVA 设计模式 命令模式

用途 命令模式 (Command) 将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化; 对请求排队或请求日志,以及支持可撤销的操作。 命令模...

22660
来自专栏静默虚空的博客

jQuery Ajax

AJAX简介 AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。 AJAX = 异步 JavaScript 和 XML(...

239100
来自专栏静默虚空的博客

JAVA 设计模式 代理模式

用途 代理模式 (Proxy) 为其他对象提供一种代理以控制对这个对象的访问。 代理模式是一种结构型模式。 结构 ? 图-代理模式结构图 Subject :...

198100

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励