名词解释
Jar文件(扩展名为. Jar)
包含Java类的普通库、资源(resources)、辅助文件 (auxiliary files)等
War文件(扩展名为.War)
包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的 一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
Ear文件(扩展名为.Ear)
包含全部企业应用程序。在这种情形下,一个企业应用程序被定义为多个jar 文件、资源、类和Web应用程序的集合。EAR文件包括整个项目,内含多个ejb module(jar文件)和web module(war文件)
作用
war包:
封装类。 是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:
封装web站点。 通常是开发时要引用通用类,打成包便于存放管理。
ear包:
封装ejb。 企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样
war包可以放在webapps或者work目录下都可以,随着tomcat的启动,它可以自动被解压.然后再IE中可以通过http://localhost:8080/XXXX来访问。或者通过tomcat的管理页面,也可以发布war包,发布实际上就是把war包复制到webapps目录下.
对比
JAR |
WAR |
EAR |
|
英文 |
Java Archive file |
Web Archive file |
Enterprise Archive file |
包含内容 |
Java class、properties文件等,是文件封装的最小单元; |
Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等; |
除了包含JAR、WAR以外,还包括EJB组件 |
部署文件 |
application-client.xml |
web.xml |
application.xml |
级别 |
小 |
中 |
大 |
jar/war /ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:
每一种文件(.jar, .war, .ear)只能分别由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。
打包方式
通过Java命令打包
前提是你机器中安装了JDK,并且在环境变量path中添加了jdk的bin目录进去。
可以通过jar命令来打包war和jar包,
打jar包
下面是使用示例
这个示例是打包class目录下的com目录,如果你想打包class目录下的所有内容可以使用
Java代码
1. jar-cvf test.jar *
打war包
打war包也是一样的用法只是你打包的目录应该是web应用的根目录。
war包用winrar打开目录是这样的
大家可以根据自己的需求配置使用jar命令的参数。
使用工具eclipse
导出war包
在项目上点击鼠标右键
如下图
选择war点击下一步
选择要导出的项目和war的存放路径,点击完成。
导出jar文件方法类似,请大家自己研究一下。是我自己懒了!
生成 ear
1.新建一个工程 选择Java EE中的Enterprise Application Project
2. 新建动态Web工程 Web -> Dynamic Web Project
注意:Add project to an EAR 选项要打勾在下一行的ear project name 选第一步中新建的工程名
3.右键web工程名 选择export -> java ee-> EAR File 在ear project选中第一步建的工程名, destiantion 添打包路径和名称.还要沟中overwrite existing file
使用Maven生成ear包
1. 首先得安装好Maven
2. 从SVN上下载下来将要打包的一个业务颗粒(云平台中是以一条线开发的)
3. 右键选中要打包的project→Configure→Convertto Maven Project,等待打包即可。
这些我们每天都在用的知识还真不一定懂,这段时间对于这种情况应该尽可能的避免,最最基本的东西我们应该清楚,然后才有可能在更上一层提升自身的实例。否则,跑的越快,跳的越高,摔的越狠。
版权声明:本文为博主原创文章,未经博主允许不得转载。