正确运行程序,解决“找不到或无法加载主类”

正常情况下,运行java程序

java test #运行 test.class文件,不要加后缀名即可运行

java -jar test.jar #运行 有入口类的可独立运行的 jar包

有入口类的jar包:包里的MANIFEST.MF文件中已设置了入口类的名字。
入口类:即main函数所在的类。

运行java程序时,报错:“找不到或无法加载主类”

在intelliJ IDEA 下,工程结构已经指定了构建jar包的入口类的名称,但实际上生成的jar包中的清单文件MANIFEST.MF并没有Main-Class:这一行!
就是没有入口类的jar包。

  • 解决办法1:手工添加Main-Class
    用压缩工具打开jar文件 编辑META-INF目录下的MANIFEST.MF文件 保证前两行为:
Manifest-Version: 1.0
Main-Class: Main

Main应该改为你的工程的入口类名!

  • 解决办法2: 运行时再指定入口类名
    jar包中没有入口类 用-cp / --classpath指定classpath
    java -cp HelloWorld.jar org.test.HelloWorld
    org和test是包名,最后的Helloword是入口类名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,491评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,081评论 6 342
  • 1、jar简介 Java归档文件格式(Java Archive, JAR)能够将多个源码、资源等文件打包到一个归档...
    SpaceCat阅读 40,284评论 4 64
  • 1、梦,5点起床记录了自己的梦,很奇怪却与生活有密切的联系,自己也一样其实做的承诺早就该天打雷劈了。遇见这么多奇怪...
    钱程浩瀚阅读 1,157评论 0 0
  • 自接触到《哈利波特》系列的书,到追看他的电影,已有好多个年头了,想当初,刚看完第一部的时候,晚上做梦都骑着扫帚满天...
    宁青柠阅读 3,398评论 0 2