maven项目如何打成JAR包运行

       最近工作中遇到了特殊的开发环境,没有编译器idea,只有mvn和jdk,需要把maven项目打包成带依赖的jar包后,通过java -jar运行。在这里分享一下过程中遇到的问题和解决方法。

配置pom文件

       主要是为了:

1、配置一个打包插件。

2、设置一个程序入口,不然会报错:找不到主类。

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-assembly-plugin</artifactId>
			<version>2.5.5</version>
			<configuration>
				<archive>
					<manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib</classpathPrefix>
                        <!--设置程序入口,路径从java文件夹后面开始算-->
						<mainClass>Main</mainClass>
					</manifest>
				</archive>
				<descriptorRefs>
                    <!--带依赖打包-->
					<descriptorRef>jar-with-dependencies</descriptorRef>
				</descriptorRefs>
			</configuration>
		</plugin>
	</plugins>
</build>

        配置完pom文件后,可以运行mvn package assembly:single,进行打包,打包完成后运行java -jar ***.lib运行lib包。

jar包加入本地maven仓库

        一开始配了个本地依赖在pom里(如下代码),mvn package assembly:single会把本地仓库依赖打到一个jar包里,本地依赖打成单独的lib包,会导致运行不到本地依赖。     

<dependency>
    <groupId>mysql</groupId>
    <artifactId>dabai-connector-java</artifactId>
    <version>1.1.1</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/dabai-connector-java-1.1.1.2.jar</systemPath>
</dependency>

解决方法:把本地依赖加入到本地仓库中。

操作流程:到jar包所在文件夹内,mvn install:install-file -Dfile=dabai-connector-1.1.1.2.jar -DartifactId=dabai-connector -DgroupId=dabai.connector -Dversion=1.1.1 -Dpackaging=jar。其中DartifactId、DgroupId、Dversion都是自己定的。

install-file -Dfile:jar包名
DartifactId:对应pom文件中<artifactId>的值
DgroupId:对应pom文件中<groupId>的值
Dversion:对应pom文件中<version>的值
Dpackaging:打包方式,jar方式

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值