从打一个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中,但那样移植和管理起来不方便.