maven的打包命令--assembly&install和maven update之后jdk版本变回1.5的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN_GIA/article/details/83410808

maven的打包命令–assembly&install和maven update之后jdk版本变回1.5的问题

在进行maven项目打包时,可以有另个命令assembly和install

一、install

命令格式:mvn install

pom.xml中的写法

<build>
	<pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<mainClass>com.hcx.transferdata.TransferData</mainClass>
							<addClasspath>true</addClasspath>
							<classpathPrefix>lib/</classpathPrefix>
						</manifest>
					</archive>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</pluginManagement>
</build>

二、assembly

命令格式:mvn assembly:assembly -DskipTests

pom.xml中写法

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-assembly-plugin</artifactId>
			<version>2.5.5</version>
			<configuration>
				<archive>
					<manifest>
						<mainClass>com.hcx.transferdata.TransferData</mainClass>
					</manifest>
				</archive>
				<descriptorRefs>
					<descriptorRef>jar-with-dependencies</descriptorRef>
				</descriptorRefs>
				<!-- <encoding>UTF-8</encoding> -->
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
	</plugins>
	<finalName>inoutdata</finalName>
</build>

此种打包方式会把所有依赖的jar一同打包进去

很多时候都要使用第二种打包方式,因为第一种我试过的,老是报没有主清单属性。。。

感觉mvn install的方式是不可以把依赖的jar打包进去的?但是我印象里我的jar里是有依赖的jar的啊。。。反正assembly的方式保证能把依赖的jar都打包进去。欢迎各位大牛告诉我原因啊

三、关于maven update之后变回jdk1.5的问题

之前写的项目,我明明都是选的jdk1.8,就是把所有涉及到jdk版本的地方都该为了1.8,但是每次一执行maven update之后,就立马变回了jdk1.5。我看的很多博客都写的说在build标签中添加标签就可以了,就像我上面两个例子那样,但是,不知道是不是我有毒,在我的ide里面就死活不行。解决办法就是,还要通过properties标签来指定,如下:

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	<maven.compiler.source>1.8</maven.compiler.source>
	<maven.compiler.target>1.8</maven.compiler.target>
	<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>

猜你喜欢

转载自blog.csdn.net/CSDN_GIA/article/details/83410808
今日推荐