maven如何实现创建带源代码的jar包

    xiaoxiao2025-11-15  4

    实现目标

    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}。 缺点:代码比较长 优点:不会修改资源文件夹,项目结构不用改变,推荐使用这一种

    参考资源

    http://stackoverflow.com/questions/25779900/how-to-include-source-file-java-file-parallel-to-class-file-in-the-generatedhttp://stackoverflow.com/questions/23933911/include-source-code-while-exporting-a-jar-using-maven
    转载请注明原文地址: https://ju.6miu.com/read-1304232.html
    最新回复(0)