1. 程式人生 > >maven實現打包帶源代碼的jar包

maven實現打包帶源代碼的jar包

print oal sta include sources resource 放置 post copy

本文為轉載,原文見http://blog.csdn.net/qq_30930805/article/details/71439634

實現方法一:

pom文件添加以下及節點

[html] view plain copy print?
  1. <build>
  2. <resources>
  3. <resource>
  4. <directory>src/main/java</directory>
  5. </resource>
  6. </resources>
  7. </build>



說明:默認的資源文件夾是src/main/resource,此方法修改了資源文件夾,讓你默認的資源文件夾變成了src/main/java文件夾。而這個文件夾在maven中是默認放置源代碼的。

缺點:修改之後,src/main/resource文件夾就不是資源文件夾了,放在裏面的文件將不會被當作資源。

實現方法二:

[html] view plain copy print?
  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-resources-plugin</artifactId>
  4. <version>2.3</version>
  5. <executions>
  6. <execution>
  7. <id>copy-resources</id>
  8. <phase>process-resources</phase>
  9. <goals>
  10. <goal>copy-resources</goal>
  11. </goals>
  12. <configuration>
  13. <outputDirectory>${project.build.outputDirectory}</outputDirectory>
  14. <resources>
  15. <resource>
  16. <directory>src/main/java</directory>
  17. <includes>
  18. <include>**/*.java</include>
  19. </includes>
  20. </resource>
  21. </resources>
  22. </configuration>
  23. </execution>
  24. </executions>
  25. </plugin>

說明:插件maven-resources-plugin默認處理資源和測試資源,把資源加入到文件夾${project.build.outputDirectory},這個引用表示項目的輸出文件夾。

一般是項目的WEB-INF\classes文件夾。等到打包的時候,就把這個文件夾裏面的內容打包成jar文件。所以想要把源代碼打包到jar文件裏面

,就需要把源代碼當作資源文件添加到文件夾${project.build.outputDirectory}。
缺點:代碼比較長
優點:不會修改資源文件夾,項目結構不用改變,推薦使用這一種

maven實現打包帶源代碼的jar包