Maven源码打包方法

将MAVEN项目只保留源码和POM文件,使用maven package命令打包

pom.xml需要包含以下三个插件:(源码位置和项目入口以及打包位置可以自己修改)

<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!-- 关于运行和编译级别,请注意服务器的jdk版本,编译运行版本应该与系统默认版本一致 -->
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<!--是否添加类搜索路径 -->
<addClasspath>true</addClasspath>
<!-- 制定类搜索路径的文件目录-与项目同级,所以多个项目是可以配置一个lib的,只需要把每个项目生成的依赖考到一个公用的lib下 -->
<classpathPrefix>lib/</classpathPrefix>
<!-- 配置jar启动时入口文件-启动入口 -->
<mainClass>com.miteke.dingding.mail.App</mainClass>
</manifest>
<!-- 添加classpath缺少的本地jar包的内容 -->
<!-- <manifestEntries> <Class-Path>lib/PluginMonitor-1.6.0.jar</Class-Path> 
</manifestEntries> -->
</archive>
</configuration>
</plugin>
<plugin>
<!--使用jar插件以后maven的依赖并不会默认打包到lib中,所以需要使用该插件,将maven dependency从仓库复制到类搜索路径 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 将项目所以来的包从仓库复制到类索索路径下 -->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

若引用本地的jar包(非Maven官方管理的,或者自己打的业务相关的包),使用如下方式添加依赖

<dependency>
	<groupId>PluginMonitor</groupId>
	<artifactId>PluginMonitor</artifactId>
	<version>1.6.0</version>
	<type>jar</type>
	<scope>system</scope>
	<systemPath>${basedir}/lib/PluginMonitor.jar</systemPath>
</dependency>
打包的时候,如果MANIFEST.MF中的Class path没有引入本地的包,则使用上面打包插件注释的<manifestEntries>标签方式引入。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值