maven如何实现创建带源代码的jar包
Posted 疯子加天才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven如何实现创建带源代码的jar包相关的知识,希望对你有一定的参考价值。
实现目标
maven打包,在生成的jar包中带有源代码。记住,这个带源代码的意思是源代码跟编译生成的文件放在一个jar文件里面,而不是单独的一个XXX-source.jar包。
实现思想
把源代码当作资源文件
实现方法一
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
</build>
说明:默认的资源文件夹是src/main/resource,此方法修改了资源文件夹,让你默认的资源文件夹变成了src/main/java文件夹。而这个文件夹在maven中是默认放置源代码的。
缺点:修改之后,src/main/resource文件夹就不是资源文件夹了,放在里面的文件将不会被当作资源。
实现方法二
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
说明:插件maven-resources-plugin默认处理资源和测试资源,把资源加入到文件夹${project.build.outputDirectory}
,这个引用表示项目的输出文件夹。一般是项目的WEB-INF\classes
文件夹。等到打包的时候,就把这个文件夹里面的内容打包成jar文件。所以想要把源代码打包到jar文件里面,就需要把源代码当作资源文件添加到文件夹${project.build.outputDirectory}
。
缺点:代码比较长
优点:不会修改资源文件夹,项目结构不用改变,推荐使用这一种
参考资源
以上是关于maven如何实现创建带源代码的jar包的主要内容,如果未能解决你的问题,请参考以下文章
Intellij IDEA在maven项目中添加外部Jar包运行
使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴