maven项目部署时,有时会直接打编译好的jar包,不借助maven打包,有时还是会需要借助maven直接生成war包,以下简单介绍maven项目如何打可执行的war包
maven配置
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<artifactId>netseal-web-server</artifactId>
<description>xx管理服务</description>
打包方式为:war
<build>
<finalName>NetSeal</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<!-- 把war里面的class当成附件打成一个jar包 -->
<attachClasses>true</attachClasses>
<archiveClasses>true</archiveClasses>
<failOnMissingWebXml>false</failOnMissingWebXml>
<classesClassifier>${project.artifactId}-${project.parent.version}</classesClassifier>
<packagingExcludes>WEB-INF/classes/cn/**</packagingExcludes>
<webResources>
<resource>
<!--将依赖的外部jar打到war包里 -->
<directory>${project.basedir}/../lib</directory>
<targetPath>WEB-INF/lib</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
以上为打包配置:可自定义打的war包的名称,以及将当前模块下的class也打成一个jar包放到WEB-INF/lib下,配置完成,可以使用idea进行打war包的操作,如图所示:
进行完package操作之后,会出来一个war包,一个当前class文件生成的jar包,同时这个jar包也存在于war包中,如图所示: