IDEA导出jar包后运⾏报错不到或⽆法加载主类
idea配置artifactstraceback most开发⼯具: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包的⽅法链接是:
易语言脚本论坛 他说:
选中第⼀个的话,打完包后是⼀个jar包
选中第⼆个的话,打完包后是⼀个jar包,外带你项⽬所⽤的jar包浮点运算对什么有影响
如果选择了第⼆个,在下⼀步的配置中,就会出现两个test.jar。可以看到,上⼀步骤⽣成了⼀个test.jar,并且外边的test.jar还需要再重新创建⼀个MANIFEST.MF⽂件
经过测试,即使我创建外边的MANIFEST.MF⽂件时,把⾥⾯的test.jar包打进去,依然会报错:不到或⽆法加载主类。
study的中文是什么在orderby子句中表示降序 综上所诉,我⼜尝试在最开始选择配置的时候,选择extract to the target JAR(提取到⽬标jar包)这个选项,那么对于我这个测试项⽬就完全没问题了,⽣成的test.jar包⾥包含MANIFEST.MF⽂件,并且这个包⾥不会再有其他的jar包了,就没有问题了
但是如果我⽣成的jar包,需要引⽤其他的jar包,需要在下⼀步,Class Path栏⾥⼿动输⼊引⼊的jar包。
⾄于这⾥的classpath如何填写,相当于在之前错误⽤法时⽣成的META-INF/MANIFEST.MF⽂件⾥所引⽤的jar包⼀样。
原创⽂章,欢迎转载,转载请注明出处!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论