jar包和war包的打包规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CMD 模式下实现jar打包

注意包名以及manifest.mf文件每一个冒号有空格

最后一行为空

1、编译java文件

2、写manifest.mf文件

Manifest-Version: 1.0

Main-Class:<空格>package.class//指定主类,目的是如果有main函数能够直接运行

Class-Path: 包含的其他jar包中间空格间隔如果有多个jar包且不能为jar包中的jar包。是需要在包里面包含的本地包lib/edd/.

<换行>最后一行为空行

保存

注意:没有添加主清单属性则不能够直接通过java –jar 包名.jar运行文件

Cmd下执行jar –cvfm name.jar manifest.mf 文件.class

这种情况是打包没有package名的.class文件。

jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名

jar cvfm classes.jar mymanifest.mf -C foo/ . 文件夹下所有类打包

foo为文件夹。

这种是打包有包名的.class。应为这种情况下编译会产生cn.mypackage的情况

因此在manifest文件中会写出,而且也需啊把包的文件夹放在与manifest同一个位置再打包运行即可

运行即是java –jar name.jar;这种情况必须要有manifest文件。不然不能执行main函数

含有多个java编译文件,属于同一个包的打包。也是上诉方法,将其编译到一个包文件夹中,然后编译运行即可。

Jar 包的导入(CMD下使用)

只需要将包放入到classpath对应的文件夹下,然后使用import cn.ddd.class

即可。

如下:

import cn.mypackage.Testjar;//但是这种情况下用类需要把全名写出来不然不能访问,也就是说import cn.mypackage.*;写法是错误的

public class testcout

{

public static void main(String[] args)

{

Testjar t = new Testjar();

t.display();

}

}

运行输出:

Eclipse 下实现jar包的打包

Eclipse的jar包打包同样需要多个过程

1、选择包右键选择导出jarfile

2、

3、选择要导出的文件

4、

5、选择自己的manifest或者生成的manifest

选择主类,实现直接运行。然后finish即可

关于生成自己的manifest.mf文件问题

这种情况下是使用了第三方的jar包的情况。

因此系统生成manifest文件不可用,需要自行生成manifest文件。

Manifest-Version: 1.0

Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar

lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar Main-Class: main.KillCheatFans

1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;

2、假设我们的项目打包后为KillCheatFans.jar,那么按照上面的定义,应该在KillCheatFans.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件

在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread "main" ng.NoClassDefFoundError”的错误;

也就是说这个文件加下具有manifest文件以及lib文件,lib中存放有第三方的jar包。

3、Main-Class后面是类的全地址,比如你的主文件是KillCheatFans.java,文件里打包为package com.main; 那么这里就写com.main.KillCheatFans,

不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;

4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,

否则将会出现“jar中没有主清单属性”的错误。

注意eclipse下的文件最好都利用工程的file系统建立,不然会出现读取不到文件资源

以上情况下若想使用eclipse打包。需要在工程下建立文件夹放置第三方包(eclipse装载包的方法三)。然后工程文件夹下新建一个MANIFEST.MF文件写入配置信息。这样保证了装有第三方包的文件与MANIFEST.MF处于一个文件夹内,这样编译不会出现问题。

然后再进行打包即可

Eclipse 生成jar包含有第三方jar包的情况

Eclipse 下实现jar包的导入

1、加入到jdk的库文件中作为本地库使用

任何一个工程都能用到,缺点是不具有专一性。如果每一次都采用这种导包的方式最后导致jdklib杂乱无章。很难管理。因此需要单独的使用一种适用于工程的导包方式

相关文档
最新文档