原创

【Java】如何把java文件打成Jar包/War包

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://bluebird.blog.csdn.net/article/details/54310801

一、导出jar包

右击项目,选择Export

在Export窗口,选择java-->JAR file,点击"Next"按钮

在JAR Export窗口,选择我们要导出的包,点击"Browe..."按钮,选择一个导出jJAR包的路径。点击"Finish"完成

这样就会在我们选择的路径下生成一个我们想要的jar包,你就可以让别人使用你开发好的功能了。

二、测试jar包

输入如下命令:java -jar jar文件的名字,就可成功运行jar包

三、问题解决

java运行jar命令提示没有主清单属性。

这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序的一些信息。所以才造成这样的问题。该文件的“Main-Class”属性指定了程序的主类,“Class-Path”属性则指定了运行主类所依赖的外部类的路径。将类路径配置在清单文件中的好处是,运行jar包时可以省去一长串的classpath参数。

解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。即需要一个Main-Class定义行。

所以,解决办法很简单。就是在MANIFEST.MF添加入口。

双击打开jar文件,你的电脑需要安装有winrar。或者其他压缩工具。 
之后,在双击打开这个文件夹META-INF,双击打开jar文件,你的电脑需要安装有winrar。或者其他压缩工具。 

现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。
Main-Class: gui 

这里的gui是你的xxx.java文件编译后的xxx.class文件稍微名称。但是不要加.class后缀。如果有的话,那么看下Main-Class: gui 这后面的名称是否和你的class文件名称一致。不一致请改回来。  注:这里Main-Class:要空一格写上你的class文件名。如果你没有空格的话,还是问题是解决不了的。

注意:Web项目打包成war包

报错:项目正常运行,但是war包运行报错:

 

严重: Exception sending context initialized event to listener instance of class com.demo.web.listener.InitApplicationListener
java.lang.IllegalArgumentException
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)

原因:

 

MyEclipse中自带的JDK为1.6,spring包为3.1.2。

系统的JDK为1.8,与spring3不兼容,升级为spring4则成功运行。

最好统一设置为Spring4,以方便迁移,如果有需要,设置tomcat的默认jdk:

(1) windows下:

修改 tomcat/bin/setclasspath.bat

在rem Otherwise either JRE or JDK are fine之前加上

set JAVA_HOME = C:\....   jdk路径

set JRE_HOME = C:\....\jre  Jre路径

(2) linux环境下

修改tomcat/bin/setclasspath.sh

在# First clear out the user classpath

CLASSPATH=

下面添加上

export JAVA_HOME=/home/tool/jdk1.6.0_18  --jdk路径

export JRE_HOME=/home/tool/jdk1.6.0_18/jre --jre路径

保存,重新启动tomcat即可..

 

文章最后发布于: 2017-01-10 18:46:56
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览