最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Maven打包時包含資源文件和源碼到j(luò)ar的方法

 更新時間:2022年08月17日 16:54:58   作者:「已注銷」  
這篇文章主要介紹了使用Maven打包時包含資源文件和源碼到j(luò)ar的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Maven打包時包含資源文件和源碼到j(luò)ar

在使用Maven打包時,我們發(fā)現(xiàn)最終打包之后jar中只有已經(jīng)編譯完成的代碼class,資源文件都沒了,如果有資源文件需要打包進jar的話,直接打包jar無法正常工作。

其實,在pom.xml中配置一下<build>節(jié)點即可實現(xiàn)把資源打包進來的操作。

在<build>中添加以下內(nèi)容

<resources>
?? ?<resource>
?? ??? ?<directory>${basedir}/src/main/resources</directory>
?? ??? ?<includes>
?? ??? ??? ?<include>**/*.*</include>
?? ??? ?</includes>
?? ??? ?<filtering>false</filtering>
?? ?</resource>
?
?? ?<resource>
?? ??? ?<directory>${basedir}/src/main/java</directory>
?? ??? ?<includes>
?? ??? ??? ?<include>**/*.*</include>
?? ??? ?</includes>
?? ??? ?<excludes>
?? ??? ??? ?<exclude>**/*.java</exclude>
?? ??? ?</excludes>
?? ??? ?<filtering>false</filtering>
?? ?</resource>
</resources>

可以看到,添加的<resources>節(jié)點中有兩個<resource>子節(jié)點,分別配置了兩個不同的地方的內(nèi)容打包進jar(一般資源文件放在項目resource文件夾和源代碼文件夾里面),其中每一個<resource>節(jié)點中的內(nèi)容

意義如下

  • <directory>為被打包的資源文件的路徑,${basedir}表示這個項目的根目錄。
  • <includes>被包含的文件,里面的<include>**/*.*</include>表示包含其中的所有文件和文件夾。
  • <filtering>是否過濾資源文件,默認false。
  • <excludes>要排除的文件,上面的配置內(nèi)容中排除了所有的java源代碼文件防止把源代碼也打包進去了。

如果在別的地方有資源文件,可以自己再添加<resource>節(jié)點,格式按照這個來。

需要說明的是一些jar外部包因為包含java doc注釋,所以也需要將源代碼文件包含進去。

這樣的話也很簡單,把上面的第二個<resource>節(jié)點中的整個<excludes>節(jié)點去掉即可。(即不配置排除java源代碼文件)

maven打包時包含源碼的問題

由于jar包和項目分開打包,并且jar包打包后不會帶注釋,會對代碼調(diào)試增加難度,所以增加了jar包攜帶源碼的方式,解決方式如下

1.maven-source-plugin提供項目自動將源碼打包并發(fā)布的功能

在需要發(fā)布源碼項目的pom.xml文件中添加如下代碼即可:

<!-- Source attach plugin -->
?<build>
? ? ? <plugins>
? ? ? ? ? <plugin>
? ? ? ? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? ? ? ? <artifactId>maven-source-plugin</artifactId>
? ? ? ? ? ? ? <executions>
? ? ? ? ? ? ? ? ? <execution>
? ? ? ? ? ? ? ? ? ? ? <id>attach-sources</id>
? ? ? ? ? ? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? ? ? ? ? ? <goal>jar</goal>
? ? ? ? ? ? ? ? ? ? ? </goals>
? ? ? ? ? ? ? ? ? </execution>
? ? ? ? ? ? ? </executions>
? ? ? ? ? </plugin>
? ? ? </plugins>
? </build>

2.刪除target文件夾

3.mvan執(zhí)行

  • 執(zhí)行 mvn install,maven會自動將source install到repository 。
  • 執(zhí)行 mvn deploy,maven會自動將source deploy到remote-repository 。
  • 執(zhí)行 mvn source:jar,單獨打包源碼。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

最新評論

甘洛县| 青海省| 星子县| 贺兰县| 古蔺县| 客服| 华坪县| 五莲县| 柘城县| 遵义县| 苏尼特左旗| 肥西县| 长阳| 牙克石市| 南宫市| 遂宁市| 孟连| 怀柔区| 泗洪县| 洞口县| 庐江县| 平和县| 普兰县| 凌源市| 晋城| 图木舒克市| 乌拉特前旗| 尖扎县| 宁夏| 拉萨市| 牡丹江市| 慈溪市| 独山县| 郧西县| 女性| 台湾省| 同江市| 霞浦县| 晋江市| 成安县| 蕲春县|