开发工具:IDEA16

运行环境:ubuntu

问题:根据网上的Idea导出jar包的方法,将我的项目导出jar包后运行报错:找不到或无法加载主类。
 
  为了找到这个原因,我重新搭建了一个测试例子,在src/com下新建了一个HelloWorld.java类,输出HelloWorld。然后把它导出jar包,依然报错:找不到或无法加载主类。
  后来打开这个jar包发现在test.jar里边还有一个test.jar包
 
  然后我把里边这个jar包提取出来后,运行java -jar test.jar就不会报错了,也能正常输出HelloWorld
 
  经过各种重复实验,重新尝试每一步的配置,终于发现了错误的地方。
  根据网上的配置,在 Project Structure --> Artifacts中,添加jar包时,选择了copy to the out directory and link via manifest
 
  备注:我参考的Idea打jar包的方法链接是:http://www.cnblogs.com/blog5277/p/5920560.html
    他说:
    选中第一个的话,打完包后是一个jar包
    选中第二个的话,打完包后是一个jar包,外带你项目所用的jar包
 
 
  如果选择了第二个,在下一步的配置中,就会出现两个test.jar。可以看到,上一步骤生成了一个test.jar,并且外边的test.jar还需要再重新创建一个MANIFEST.MF文件
 
  
  经过测试,即使我创建外边的MANIFEST.MF文件时,把里面的test.jar包打进去,依然会报错:找不到或无法加载主类。
 
 
  综上所诉, 我又尝试在最开始选择配置的时候,如果选择extract to the target JAR(提取到目标jar包) 这个选项,那么对于我这个测试项目就完全没问题了,生成的test.jar包里包含MANIFEST.MF文件,并且这个包里不会再有其他的jar包了,就没有问题了
 
  但是如果我生成的jar包,需要引用其他的jar包,需要在下一步,Class Path栏里手动输入引入的jar包。
 
 
  至于这里的classpath如何填写,相当于在之前错误用法时生成的META-INF/MANIFEST.MF文件里所引用的jar包一样。
 
  原创文章,欢迎转载,转载请注明出处!
  

IDEA导出jar包后运行报错 找不到或无法加载主类的更多相关文章

  1. Activemq首次运行报错 “找不到或无法加载主类”

    首次运行Program Files\apache-activemq-5.10.0\bin目录下的activemq.bat文件,报错信息如下: 找不到或无法加载主类 Files\apache-activ ...

  2. cygwin下java报错“找不到或无法加载主类”的故障排除

    win7 下安装了java,命令行下可以正常运行,cygwin下报错:找不到或无法加载主类. 经排查发现是cygwin的~/.bash_profile中画蛇添足的配置了$CLASSPATH: JAVA ...

  3. Linux下Java运行.class文件,报错找不到或无法加载主类

    classpath配置的错误,所以找不到.class文件. 原先的etc/profile中的classpath配置 export CLASSPATH=$JAVA_HOME/lib/tools.jar ...

  4. java 命令行运行时报错:找不到或无法加载主类

    源码如下: 路径目录(...\src\object) //: ch1.10/Command.java /**@author feilong * @version 1.0 */ package obje ...

  5. java编译报错: 找不到或无法加载主类 Demo.class 的解决方法

    原因:java 命令后面的文件不能有后缀名. 解决方法:运行java时候,后面的文件去掉后缀名.

  6. java编译通过,为什么运行却提示找不到或无法加载主类?

    java编译通过,为什么运行却提示找不到或无法加载主类? https://www.zhihu.com/question/36537093 这边提供一个关于程序中含有package关键字,使用“终端”运 ...

  7. 创建spring boot项目并添加多个模块时,启动报 错误: 找不到或无法加载主类

          最近建个项目发现启动报,找不到或无法加载主类,想想肯定是自己配置出问题了,经过排查确实出问题了,(根pom中的bulid为移到子模块中去导致的),下面演示下正确的创建子模块的步奏 1. 创 ...

  8. zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”

    在windows下编译java,由于是临时测试一下文件,不想改classpath,就在命令行中用 -cp 或classpath引入jar包,用javac编译成功,便使用java带-cp 或classp ...

  9. maven打包 运行出现 错误: 找不到或无法加载主类 jar

    使用maven进行打包成jar包后 使用java -jar运行jar包 出现 错误: 找不到或无法加载主类 jar 主要是由于依赖没下载好,重新下载依赖 以及要在项目的pom.xml里面添加 < ...

随机推荐

  1. dom阻止事件冒泡

    通常有两种事件流模型,一种是冒泡,一种是捕获.顾名思义,冒泡就是从内往外传播,捕获就是从外往里传播. 对于dom事件,就是这样的.比如,有两个父子div. <div id="pdiv& ...

  2. 怎样让oracle实验本在不做实验时性能提升——win7下举例

    怎样让oracle实验本在不做实验时性能提升--win7下举例 型号:ThinkPad E431 系统:WIN7 实验使用的笔记本不使用数据库时.建议将oracle关闭,使其释放占用的资源. orac ...

  3. 20155217《网络对抗》Exp02 后门原理与实践

    20155217<网络对抗>Exp02 后门原理与实践 实验要求 使用netcat获取主机操作Shell,cron启动. 使用socat获取主机操作Shell,任务计划启动. 使用MSF ...

  4. Ueditor使用笔记

            富文本编辑器在javaweb项目中还是比较常见的,如:ckeditor.kindeditor.ueditor等.今天主要叙述的对象为ueditor,它属于百度的.闲话不多说,下面开始介 ...

  5. [2016北京集训试题15]cot-[分块]

    Description Solution 如图,假如我们知道了以任何一个点为顶点的135-180度的前缀和和90-180度的前缀和,我们就可以搞出三角形的面积. 差分.add[i][j]和dev[i] ...

  6. 升级webpack2

    更新:webpack3已经出来了,官方说从2到升级到3不用改一行配置,98%的人没有错误. 项目中用的是webpack1.webpack2已经出来一段时间了.决定升级.其实改动不是很大.修改加测试共花 ...

  7. ElasticSearch查询 第二篇:文档更新

    <ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...

  8. winform 记事本 剪切 粘贴 全选 撤销

    private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e) { textBox1.Undo(); } private voi ...

  9. 利用Junit实现eclipse单元测试

    在eclipse中使用Junit进行单元测试 今天学会了用Junit在eclipse中进行单元测试,代码的测试工作,在整个软件开发中占有总要的地位,无论是代码开发阶段,还是代码维护阶段.另外边开发边测 ...

  10. BugPhobia开发篇章:Beta阶段第V次Scrum Meeting

    0x01 :Scrum Meeting基本摘要 Beta阶段第五次Scrum Meeting 敏捷开发起始时间 2015/12/17 00:00 A.M. 敏捷开发终止时间 2015/12/17 23 ...