Eclipse如何将项目打成jar包

PZ_eng 2019-11-21 10:03:54
我是java新手,用Eclipse把项目导出成了一个jar包,但是该jar包运行不起来,说是没有主清单属性。
项目是SpringMVC+Spring+MyBatis的项目
导出的方法是右键项目选择export--JAR file
导出的文件只选择了classes和配置文件
请大佬指点
...全文
311 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿磊找我 2019-11-30
  • 打赏
  • 举报
回复
能不能问一下大神们:java输入两个字符串s1  s 2,其中s2是s1的子串,输出要求删除子串,如果s2不是s1的子串,直接输出s1。救救我吧
qybao 2019-11-21
  • 打赏
  • 举报
回复
你这个不是可执行的jar
应该打包成war,然后放到tomcat的\webapps\下,用tomcat启动
PZ_eng 2019-11-21
  • 打赏
  • 举报
回复
引用 1 楼 qybao 的回复:
导出时有个选项让你选择从哪个类启动的(这个会生成manifest.mf文件,就是主清单,里面有主启动类和依赖包信息等等)
只选择classes和配置文件也可以,只是启动时,你所有的依赖包都要保证在classpath下能找到

是说的这个地方吗?

说实话SSM项目我并不知道是从哪个类启动的。
而且我们项目里面有一个MANIFEST.MF文件,但是里面只有一个版本号
Manifest-Version: 1.0
Class-Path:

我该怎么操作才能解决这个问题?

qybao 2019-11-21
  • 打赏
  • 举报
回复
导出时有个选项让你选择从哪个类启动的(这个会生成manifest.mf文件,就是主清单,里面有主启动类和依赖包信息等等)
只选择classes和配置文件也可以,只是启动时,你所有的依赖包都要保证在classpath下能找到
PZ_eng 2019-11-21
  • 打赏
  • 举报
回复
引用 7 楼 qybao 的回复:
普通的SpringMVC+Spring+MyBatis项目的jar包没有启动类,不能用java -jar 的方式启动
如果非要做,就自己写个启动类,在main方法里启动tomcat并展开jar拷贝资源到tomcat的\webapps\下,这里面涉及的问题还有很多,有可能很多配置文件也要在你的main里去修改,会很繁琐
你可以参考springboot,它是如何实现把这些步骤都封装到启动类的(当然注解的部分你也可以自己模仿在main里写相应的处理)

我大概明白是怎么回事了,感谢大佬
qybao 2019-11-21
  • 打赏
  • 举报
回复
引用 6 楼 PZ_eng 的回复:
我的意思是打成那种用java -jar XXX.jar命令就能启动的jar包,我仔细想了一下,那种jar包里面应该是包含有一个服务器的,而且服务器的相关设置也应该包含在里面了,不知道我的理解是不是对的?如果是,我想知道普通的SpringMVC+Spring+MyBatis项目能否打成这种jar包?如果能又该怎么做?

普通的SpringMVC+Spring+MyBatis项目的jar包没有启动类,不能用java -jar 的方式启动
如果非要做,就自己写个启动类,在main方法里启动tomcat并展开jar拷贝资源到tomcat的\webapps\下,这里面涉及的问题还有很多,有可能很多配置文件也要在你的main里去修改,会很繁琐
你可以参考springboot,它是如何实现把这些步骤都封装到启动类的(当然注解的部分你也可以自己模仿在main里写相应的处理)
PZ_eng 2019-11-21
  • 打赏
  • 举报
回复
引用 5 楼 qybao 的回复:
也不是,jar也可以tomcat启动,只是不会自己展开
你也可以直接把jar发布到tomcat的\webapps\下,通过http://your_tomcat_domain:your_tomcat_port/your_jar_package_name的方式访问
或者把jar放到tomcat的\libs\下,通过其他的web程序调用(就像其他的jar包的调用方法一样)

我的意思是打成那种用java -jar XXX.jar命令就能启动的jar包,我仔细想了一下,那种jar包里面应该是包含有一个服务器的,而且服务器的相关设置也应该包含在里面了,不知道我的理解是不是对的?如果是,我想知道普通的SpringMVC+Spring+MyBatis项目能否打成这种jar包?如果能又该怎么做?
qybao 2019-11-21
  • 打赏
  • 举报
回复
也不是,jar也可以tomcat启动,只是不会自己展开
你也可以直接把jar发布到tomcat的\webapps\下,通过http://your_tomcat_domain:your_tomcat_port/your_jar_package_name的方式访问
或者把jar放到tomcat的\libs\下,通过其他的web程序调用(就像其他的jar包的调用方法一样)
PZ_eng 2019-11-21
  • 打赏
  • 举报
回复
引用 3 楼 qybao 的回复:
你这个不是可执行的jar
应该打包成war,然后放到tomcat的\webapps\下,用tomcat启动

达成war包放到Tomcat里面我是知道的,像我这种不是用启动类启动的项目是不能打成可执行jar包的,是这个意思吗?

58,452

社区成员

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

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