MAVEN插件打包SNAPSHOT包MANIFEST.MF中Class-Path带时间戳的问题

当用maven的maven-jar-plugin插件打包依赖的SNAPSHOT的jar包就会表现为MANIFEST.MF中的Class-Path: lib/facede-user-1.0-20160512.093945-1.jar
但是打包到../lib/facede-user-1.0-SNAPSHOT.jar下面包,这样就会出现找不到类的情况
。如下加上<useUniqueVersions>false</useUniqueVersions>就可以

强制的把MANIFEST.MF中的Class-Path: lib/facede-user-1.0-20160512.093945-1.jar转化成Class-Path:/lib/facede-user-1.0-SNAPSHOT.jar

<build>
	<!-- 如果不加下面的插件则依赖包打包插件会报以下错误 -->
	<!-- maven-dependency-plugin (goals "copy-dependencies", "unpack") is not 
		supported by m2e. -->
	<pluginManagement>
		<plugins>
			<!-- Ignore/Execute plugin execution -->
			<plugin>
				<groupId>org.eclipse.m2e</groupId>
				<artifactId>lifecycle-mapping</artifactId>
				<version>1.0.0</version>
				<configuration>
					<lifecycleMappingMetadata>
						<pluginExecutions>
							<pluginExecution>
								<pluginExecutionFilter>
									<groupId>org.apache.maven.plugins</groupId>
									<artifactId>maven-dependency-plugin</artifactId>
									<versionRange>[1.0.0,)</versionRange>
									<goals>
										<goal>copy-dependencies</goal>
										<goal>unpack</goal>
									</goals>
								</pluginExecutionFilter>
								<action>
									<ignore />
								</action>
							</pluginExecution>
						</pluginExecutions>
					</lifecycleMappingMetadata>
				</configuration>
			</plugin>
		</plugins>
	</pluginManagement>
	<!-- 把配置文件单独打包到指定目录 -->
	<!-- <resources> <resource> <directory>src/main/resources</directory> <targetPath>${project.build.directory}/config</targetPath> 
		</resource> </resources> -->
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<configuration>
				<archive>
					<manifest>
						<mainClass>com.xxxx.service.user.startup.DubboStart</mainClass>
						<addClasspath>true</addClasspath>
						<classpathPrefix>lib/</classpathPrefix>
						<!-- 如果不加这一句则依赖的SNAPSHOT的jar包就会表现为MANIFEST.MF中的
							Class-Path: lib/facede-user-1.0-20160512.093945-1.jar
							但是打包到../lib/facede-user-1.0-SNAPSHOT.jar下面包,这样就会出现找不到类的情况 -->
						<useUniqueVersions>false</useUniqueVersions>
					</manifest>
				</archive>
				<classesDirectory>
				</classesDirectory>
			</configuration>
		</plugin>
		<!-- 把依赖的jar打包到指定目录 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-dependency-plugin</artifactId>
			<executions>
				<execution>
					<phase>package</phase>
					<goals>
						<goal>copy-dependencies</goal>
					</goals>
					<configuration>
						<outputDirectory>${project.build.directory}/lib</outputDirectory>
					</configuration>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值