maven常用插件示例——編譯、打包、拷貝依賴和資源、ant腳本

記錄下maven打包的常用插件使用方法

<build>
		<plugins>
			<!--編譯插件,JDK8,編碼UTF-8-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.0</version>
				<configuration>
					<source>8</source>
					<target>8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!--jar包打包插件,排除配置文件,指定classpath爲./lib文件夾下,配置文件在./config下,不放在jar中方便更改-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.2.0</version>
				<configuration>
					<excludes>
						<exclude>
							application.yml
						</exclude>
					</excludes>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<classpathPrefix>./lib</classpathPrefix>
							<mainClass>cn.jwb5.netty.Application</mainClass>
						</manifest>
						<manifestEntries>
							<Class-path>./config</Class-path>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<!--資源拷貝,打包時將配置文件拷貝到/config文件夾下-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.1.0</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>package</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/config</outputDirectory>
							<resources>
								<resource>
									<directory>src/main/resources</directory>
									<includes>
										<include>*.yml</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!--拷貝jar包到/lib下-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.1.1</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/lib</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!--執行ant腳本,可以執行外部腳本,這裏將打包的jar複製到系統另外的路徑-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.8</version>
				<executions>
					<execution>
						<id>copy</id>
						<phase>package</phase>
						<configuration>
							<target>
								<copy file="${project.build.directory}/${project.artifactId}-${project.version}.jar"
								tofile="C:/Users/Administrator/Desktop/app/app.jar"/>
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

target目錄如下,config文件夾裏有配置文件,lib文件夾有依賴jar包,外層有自己項目的jar包,將這三個拷貝出去直接運行jar包即可。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章