jar包和war包的區(qū)別?
JAR包和war包的區(qū)別:
war是一個(gè)web模塊,其中需要包括WEB-INF,是可以直接運(yùn)行的WEB模塊。而jar一般只是包括一些class文件,在聲明了Main_class之后是可以用java命令運(yùn)行的.
它們都是壓縮的包,拿Tomcat來說,將war文件包放置它的\webapps\目錄下,啟動(dòng)Tomcat,這個(gè)包可以自動(dòng)進(jìn)行解壓,也就是你的web目錄,相當(dāng)于發(fā)布了。
war包:是做好一個(gè)web應(yīng)用后,通常是網(wǎng)站,打成包部署到容器中。
jar包:通常是開發(fā)時(shí)要引用通用類,打成包便于存放管理。
ear包:企業(yè)級應(yīng)用,通常是EJB打成ear包。
所有的包都是用jar打的,只不過目標(biāo)文件的擴(kuò)展名不一樣。
WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。