JAR(Java Archive)和WAR(Web Archive)是Java中常见的两种打包文件格式。
JAR包是一种用于打包Java类和相关资源的归档文件格式。通常情况下,JAR包用于将一组相关的Java类(.class文件)和资源(文本文件,图片等)打包在一起,方便进行分发和部署。
通常JAR包用于在Java应用中引入其他的库文件,也可以作为Java应用程序的可执行文件运行。
java -jar path/to/mytest.jar
以上就是运行一个jar文件的方式。
WAR包是一种用于打包Web应用程序的归档文件格式。它通常包含Web应用程序的所有文件和资源,如JSP文件、HTML文件、JavaScript文件、CSS文件、Java类文件、配置文件等等。
WAR包是将Web应用程序打包和部署的标准方式(通常包含一个WEB-INF目录,其中包括了web.xml,以及类文件、库和资源文件),我们可以方便地将Web应用程序部署到Web容器中,如Tomcat、Jetty等。WAR包还可以包含Web应用程序的依赖库和其他资源文件。
除了常见的jar包和war包以外,Java开发者还会接触到其他的类型,如EAR包、SAR包以及APK包。
EAR(Enterprise Archive)包是一种用于打包Java EE的归档文件格式。EAR包包含多个模块,如EJB模块、WAR模块、JAR模块等等。EAR包是一种高级别的打包格式,用于将多个应用程序打包在一起,并在Java EE服务器上进行部署。
SAR(Service Archive)包通常用于将Java EE应用程序部署在JBoss应用服务器上。JBoss应用服务器提供了一种基于SAR包的服务部署机制,可以方便地将Java EE应用程序部署为服务,并对服务进行管理、监控和控制。其他一些应用服务器也支持SAR包的部署方式,如WebLogic、WebSphere等。SAR包中包含了Java EE服务的所有组件,如EJB、JMS、JCA等等。SAR包还包含了服务的描述文件和配置文件,如jboss-service.xml和jboss-app.xml等。
APK(Android Package)包是一种用于打包Android应用程序的归档文件格式。APK包包含Android应用程序的所有资源文件、代码文件、配置文件、库文件等等。APK包是Android平台上应用程序的标准打包格式,可以在Android设备上进行安装和部署。