maven备忘

折腾了一下午,终于在maven下搞出一个可直接执行的jar

mvn install只是把项目打成一个jar包,发布到本地的 maven库里, 生成的东西不能直接运行

要运行,在pom.xml中添加下面的配置

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>com.yunling.mediacenter.server.AuthServer</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>com.yunling.mediacenter.server.AuthServer</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.3</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>package</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<encoding>UTF-8</encoding>
							<outputDirectory>${project.build.directory}/conf
							</outputDirectory>
							<resources>
								<resource>
									<directory>conf</directory>
									<!--
										includes> <include>config.xml</include>
										<include>log4j.xml</include> </includes>
										<filtering>true</filtering
									-->
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>
 

第一个plugin是原来就有的,设置一下编译时的编码

第二个plugin是设置一下打jar包时可执行的主类

第三个plugin是在打包时把依赖也打进去, 在主类的设置上跟上一个有重复, 有一个就可以了

第四人plugin是因为我的项目中有几个配置文件, 放在跟src平行的conf文件夹里,在打包时拷到target文件夹下去, 但还是没有一起打到jar包里去, 后面再找一下, 看怎么把配置文件也打进去

这样之后, 在项目文件夹下mvn assembly:assembly就可以在target 下面生成一个不带依赖的 jar和一个带依赖的 jar了, conf和里面的配置文件也拷到target下面了

再然后, cd target

java -jar xxxxxxxxxxxxxx.jar就行了(这里的jar 是那个带依赖的jar )

 

maven的生命周期, 有空再看, 应该也就是之间的依赖的问题, 应该不难处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值