war包

从打一个WAR包说起

以前做web开发使用MyEclipse,后来转而使用Eclipse.在打war包部署的时候,遇见了问题.我没有在Eclipse的菜单中找到可以打war的选择也没有向导,只能退而求其次选择使用命令方式来进行打包部署.

步骤如下:

1.找到需要打包的工程所在目录,以我为例:需要打包的web工程名称smsplate,目录:D:\Users\jiangsh\workspace_eclipse

2.通过cmd到达上述目录,执行命令:jar cvf smsplate.war */.

可是我在执行的过程中提示了一个错误,如下图:

 

看到错误我直接郁闷了....

 

 

 

下面的老兄说的很在理:

原文地址:http://blog.sina.com.cn/s/blog_4cbc6fdd0100fojv.html

jar包和war包的区别:
war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.
它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了。  
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
ear包:企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便.

04-01
<think>好的,我现在需要回答用户关于WAR的问题,WAR的定义、创建和部署方法。首先,我要回忆一下已有的知识,并参考提供的引用内容。 根据引用[2],WAR文件是Web Archive的缩写,用于打Web应用程序,含各种Web资源文件。这应该是定义部分的核心内容。然后引用[3]提到WAR在开发阶段不适合使用,而在产品发布阶段更合适,这部分可以说明使用场景。 创建WAR的方法,引用[4]提到使用Maven工具的package命令,生成在target目录下。这部分需要详细说明步骤,可能还需要补充其他方法,比如手动打或者使用IDE如Eclipse、IntelliJ IDEA。 关于部署,引用[4]和引用[5]提到将WAR拷贝到Tomcat的webapps目录,以及外部配置文件的处理。可能需要说明部署到不同服务器(如Tomcat、Jetty)的一般步骤,以及如何配置外部文件。 用户的问题还提到了如何创建和部署,所以需要分步骤说明,确保结构清晰。同时,要检查是否引用了正确的来源,比如引用[1]提到漏洞复现中的WAR后门文件,这可能与安全性相关,但用户当前的问题可能不需要深入这一点,所以暂时不考虑。 可能还需要注意语法是否正确,比如使用$符号裹数学公式,但这里可能不涉及数学内容,所以可能不需要。但需要确保使用中文,符合格式要求。 最后,生成相关问题,可能涉及使用场景、与JAR的区别、外部配置、安全性等,参考引用中的内容。</think>### WAR的定义与使用 **WAR(Web Application Archive)** 是一种标准化的Web应用程序打格式,扩展名为`.war`。它用于将Java Web应用的所有组件(如Servlet类、JSP页面、HTML、CSS、JavaScript及配置文件)整合为单一文件,便于部署到Servlet容器(如Tomcat、Jetty)[^2][^3]。 #### 主要特点 1. **结构规范**:遵循Java EE标准目录结构,例如: ``` WEB-INF/classes # 存放编译后的Java类文件 WEB-INF/lib # 依赖的JAR文件 WEB-INF/web.xml # 应用配置描述文件 ``` 2. **适用场景**:适合生产环境部署,避免开发阶段频繁修改导致的重复打问题。 --- ### 创建WAR的步骤 1. **使用Maven构建**(推荐): - 在`pom.xml`中设置打类型为`war`: ```xml <packaging>war</packaging> ``` - 执行命令生成WAR: ```bash mvn clean package ``` - 生成的WAR文件位于项目的`target`目录下[^4]。 2. **手动打(IDE支持)**: - 在Eclipse/IntelliJ中右键项目,选择**Export > WAR File**。 - 选择输出路径并排除测试文件。 --- ### 部署WAR文件的方法 1. **Tomcat部署**: - 将WAR文件复制到Tomcat的`webapps`目录。 - 启动Tomcat,容器会自动解压并部署应用。 - 访问地址:`http://localhost:8080/应用名/`。 2. **外部配置文件管理**(Spring Boot项目): - 修改`application.properties`,指定外部配置路径: ```properties spring.config.location=file:/opt/config/ ``` - 将WAR与外部配置分离,便于环境切换[^5]。 --- ### WAR与JAR的区别 | 特性 | WAR | JAR | |------------|--------------------------------|------------------------------| | 用途 | 专用于Web应用 | 通用Java库或应用 | | 结构 | 含WEB-INF目录和Web资源 | 普通类文件与资源 | | 部署目标 | Servlet容器(如Tomcat) | JVM直接运行或作为依赖 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值