maven打包依赖第三方包,但不打进jar包中

<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.test.m2</groupId>
	<artifactId>me-demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>me-demo</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.1.36</version>
		</dependency>
	</dependencies>
	<build>
		  	<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.4</version>
					<configuration>
						<archive>
							<!-- 不打包依赖的jar,把依赖的jar copy到lib目录,和生成的jar放在同一级目录下 -->
							<manifest> 
								<addClasspath>true</addClasspath>
								<classpathPrefix>lib/</classpathPrefix>
								<mainClass>com.test.m2.me_demo.TestMain</mainClass>
							</manifest>
						</archive>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>



此时,会在MANIFEST.MF生成classpath: lib/,需要我们自己向lib添加jar

如果依赖的jar过多手动复制过于麻烦,

可以使用mvn命令:

mvn dependency:copy-dependencies -DoutputDirectory=C:\Users\lwn\Desktop\tt\lib  -DincludeScope=runtime  


命令要切换到项目的根目录里去执行,

-DoutputDirectory 指定为lib目录,可以根据实际情况指定。

猜你喜欢

转载自blog.csdn.net/liangwenmail/article/details/72528496