Maven為web專案同時打jar和war包,deploy時只上傳jar包的配置
阿新 • • 發佈:2019-01-09
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.class8</groupId> <artifactId>edu_course</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>edu_course Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <distributionManagement> <repository> <id>nexus-releases-repository</id> <name>Nexus Resleases Repository</name> <url>http://xxx.xxx.xxx.xxx:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>nexus-snapshots-repository</id> <name>Nexus Snapshot Repository</name> <url>http://xxx.xxx.xxx.xxx:8081/nexus/content/repositories/snapshots</url></span> </snapshotRepository> </distributionManagement> <build> <finalName>edu_course</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <archiveClasses>true</archiveClasses> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>interface</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <!-- 新增classifier修飾以區別於war,保證上傳成功 --> <classifier>interface</classifier> <includes> <include>**/com/class8/service/</include> <include>**/com/class8/entity/</include> </includes> <excludes> <exclude>**/com/class8/service/impl/</exclude> </excludes> </configuration> </execution> </executions> </plugin> <!-- deploy時只上傳jar包到遠端倉庫的配置 --> <plugin> <artifactId>maven-deploy-plugin</artifactId> <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> <goals> <goal>deploy</goal> </goals> <!-- skip預設deploy外掛的執行 --> <configuration> <skip>true</skip> </configuration> </execution> <execution> <id>deploy-file</id> <phase>deploy</phase> <goals> <goal>deploy-file</goal> </goals> <configuration> <!-- 開發階段上傳到snapshot倉庫,上線階段上傳到release倉庫 --> <repositoryId>${project.distributionManagement.snapshotRepository.id}</repositoryId> <url>${project.distributionManagement.snapshotRepository.url}</url> <file>${project.build.directory}/${project.artifactId}-interface.jar</file> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <version>${project.version}</version> <classifier>interface</classifier> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>