完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前几天在对JAVA文件打包成jar包时,遇到一些问题,至今未能解决,记录下来,还望大家指教。 在将多个CLASS文件打包成jar包时,比如我要把放在/mysoft/bin目录下的类文件都打包到一个jar包,编写myMANIFEST.MF文件,里面的内容是对Main-Class:的指定,比如我要指定的是MainClass,然后编写的内容是Main-Class: MainClass,并把它放在/mysoft,当前目录也是它,然后运行jar cvfm test.jar myMANIFEST.MF -C bin/ .。但是生成之后的jar包并不能执行。 然后我打开jar包,发现里面的类文件被放在目录bin/./下,我很奇怪的是生成了一个“.”的目录,不知为何因。而在执行命令时,少了最后的一个点是不能打包的。我修改了mf文件,重新指定为Main-Class:bin/./MainClass,或是作其它的路径修改,就是无法运行。最后只能沮丧地把bin/./的类文件都删去,然后重新把那些类添加到jar包的根目录下,mf文件的主要内容还是一开始的Main-Class:MainClass,这样才能运行。 我不知道是不是自己的操作方法有误。如果不是的话,对jar命令中提供将同一目录下的class文件打包到一个jar包的方法我就感到很纠结了,还不如先把一个类文件打包进去,然后用压缩软件打开,再把其它文件拖进去呢。不然还有什么办法呢? 后来看了黄骈java视频,才知道原来解决上一篇笔记提到的打包问题是这么简单。 首先,在自定义的MF文件里,编写如下内容:Main-Class:MainClass。其中MainClass是你的主类名。 然后将该MF文件与自己编写的所有类都放在同一目录下,比如都放在bin目录中。 假设要将这些类文件打包成可以用jvm运行的jar包,名字为myjar.jar。那么将命令行的路径转到bin下,然后输入以下命令: jar cvfm mymanifest.mf myjar.jar *.* 看见没有,就是直接用的*.*。就是这么简单,生成的jar包就可以运行了。 |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:边缘端设备的局域网视频流传输方案
1105 浏览 0 评论
1399 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
5847 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1807 浏览 0 评论
2822 浏览 0 评论
76730 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-9 20:24 , Processed in 0.462898 second(s), Total 46, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号