没有main函数的java程序如何生成可执行的jar包?

just_doit626 2017-05-25 02:56:37
我在eclipse中运行该java程序时,会自动生成新的eclipse; 该java程序没有main函数,但会自动监测在新eclipse中开发工程的断点信息,并对其做相应的处理。
我想把该java程序打包成可执行的jar包,但生成的jar包(debug.jar)执行时(java -jar debug.jar)会出现问题:
1.如果MANIFEST.MF中不写Main Class: debugger.Activator时(Activator.java是可运行的文件,自动监测并处理新eclipse中工程的断点信息),运行生成的jar包时会报错:no main manifest attribute, in debug.jar。
2.如果写了Main Class则会报错:Error: Could not find or load main class debugger.Activator

ps:以上过程生成jar包的方法为:点击工程右键-->Java-->Java file(Use existing manifest from workspace)-->..-->finish
该java程序应该是何eclipse密切相关, 因为运行它会直接出现一个新的eclipse,并可以在新的eclipse中开发程序。

哪位大神遇到过这种问题,请指教!万分感谢!!!

ps:如果生成jar包的方法为:
1.点击工程右键-->Java-->Runnable Java file遇到Launch configuration时没有下拉内容,无法Next或者Finish,所以没发生成jar包。
2.点击工程右键-->Other-->Fat Jar Exporter(Fat Jar是eclipse生成jar包的插件,我下载的是net.sf.fjep.fatjar_0.0.31.zip)-->
不选择“select Manifest file”而输入“Main-Class”为debugger.Activator时,运行生成的jar包会报错:
Exception in thread "main" java.lang.NoSuchMethodException: debugger.Activator.main([Ljava.lang.String;)
at java.lang.Class.getMethod(Class.java:1786)
at com.simontuffs.onejar.Boot.run(Boot.java:305)
at com.simontuffs.onejar.Boot.main(Boot.java:159)
选择“select Manifest file”为META-INF/MANIFEST.MF,此时无法输入MainClass,运行生成的jar包会报错:
Error: Could not find or load main class debugger.Activator

...全文
2842 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
just_doit626 2017-07-10
  • 打赏
  • 举报
回复
可以将该java程序做成插件,放入eclipse的plugins目录下,重启eclipse即可。 做插件步骤:右击工程名-> Export -> 选择Plug-in Development中的Deployable plug-ins and fragments,在Deployable plug-ins and fragments的对话框中选择输出路径(Destination->Browse)-> Finish。会在输出路径下生成plugin目录,里面的压缩文件即是要生成的jar包。
自由自在_Yu 2017-05-26
  • 打赏
  • 举报
回复
右键--export--java--jar file

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧