利用MAVEN打包時,如何包含更多的資原始檔
首先,來看下MAVENx專案標準的目錄結構:
一般情況下,我們用到的資原始檔(各種xml,properites,xsd檔案等)都放在src/main/resources下面,利用maven打包時,maven能把這些資原始檔打包到相應的jar或者war裡。
有時候,比如mybatis的mapper.xml檔案,我們習慣把它和Mapper.java放一起,都在src/main/java下面,這樣利用maven打包時,就需要修改pom.xml檔案,來把mapper.xml檔案一起打包進jar或者war裡了,否則,這些檔案不會被打包的。(maven認為src/main/java只是java的原始碼路徑)。網路上有很多方法,我大概試了下,幾種方法都可以,可以任選一種即可。
方法1,其中**/*這樣的寫法,是為了保證各級子目錄下的資原始檔被打包。
Xml程式碼- <build>
- <finalName>test</finalName>
- <!--
- 這樣也可以把所有的xml檔案,打包到相應位置。
- <resources>
- <resource>
- <directory>src/main/resources</directory>
-
<includes>
- <include>**/*.properties</include>
- <include>**/*.xml</include>
- <include>**/*.tld</include>
- </includes>
- <filtering>false</filtering>
- </resource>
-
<
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.properties</include>
- <include>**/*.xml</include>
- <include>**/*.tld</include>
- </includes>
- <filtering>false</filtering>
- </resource>
- </resources>
- </build>
方法2,利用build-helper-maven-plugin外掛
Xml程式碼- <build>
- ...
- </plugins>
- ...
- <!--
- 此plugin可以用
- 利用此plugin,把原始碼中的xml檔案,
- 打包到相應位置,這裡主要是為了打包Mybatis的mapper.xml檔案
- -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.8</version>
- <executions>
- <execution>
- <id>add-resource</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>add-resource</goal>
- </goals>
- <configuration>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- ...
- </plugins>
- ...
- </build>
方法3,利用maven-resources-plugin外掛
Xml程式碼- <build>
- ...
- </plugins>
- ...
- <!--
- 此plugin可以用
- 利用此plugin,把原始碼中的xml檔案,打包到相應位置,
- 這裡主要是為了打包Mybatis的mapper.xml檔案
- -->
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.5</version>
- <executions>
- <execution>
- <id>copy-xmls</id>
- <phase>process-sources</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${basedir}/target/classes</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}/src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- ...
- </plugins>
- ...
- </build>
相關推薦
利用MAVEN打包時,如何包含更多的資原始檔
首先,來看下MAVENx專案標準的目錄結構: 一般情況下,我們用到的資原始檔(各種xml,properites,xsd檔案等)都放在src/main/resources下面,利用maven打包時,maven能把這些資原始檔打包到相應的jar或者war裡。 有
安裝了JDK1.8後,配置了環境變數,但是Maven打包時,依然讀取的是JDK1.6的問題解決辦法
問題描述:使用maven對springboot打包時,報瞭如下錯誤, 錯誤描述:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compil
Jenkins 通過maven打包時,發現resource下的properties 配置檔案未生成 ,導致在執行時報錯
場景: Jenkins 構建WebDriver 專案時,報如下圖錯誤: idea 執行時是沒問題的,經過對比發現是因為Jenkins構建時,發現resource下的properties 配置檔案未生成,找到不所以才提示錯誤 解決方法: 程式碼路徑: 在pom.x
maven 打包時,jar should not point at files within the project directory 問題解決
原來是web專案,想通過自動部署外掛把web專案打成war放到tomcat下 在專案根部加了一個pom檔案 但打包的時候卻報錯 should not point at files within th
maven 打包時,src/main/java目錄下的xml等資原始檔沒有打包進去的問題
工作中,給同事除錯maven的自動化打包時,發現src/main/java中一些關於mybatis的xml都沒有打包進去,導致war包啟動不起來,在此記錄一下,解決方法。 預設maven在src/main/java中只編譯java檔案,其他的檔案會被忽略,但可以通過配置po
使用eclipse對maven項目打包時,報 invalid LOC header (bad signature)異常處理
http switch ati exception ogg 異常處理 name .org and 在eclipse上打包,報錯: [INFO] Including org.codehaus.groovy:groovy-all:jar:2.4.3 in the shade
Maven打包時出現“Show Console View”錯誤彈出框,錯誤詳情為“An internal error has occurred. java.lang.NullPointerException”的解決方法
開開 exceptio 技術 point org ali ava src cor 今天為項目打包時出現了下面的錯誤提示: 打開Details裏面寫的是“An internal error has occurred. java.lang.NullPointerExcepti
maven打包時包含本地jar
專案中需要使用maven的打包工具,生成zip壓縮包,使用的外掛是assembly-plugin。因為一些特殊的原因,需要使用一些本地的jar進行依賴,載入外部jar後編碼過程中沒有任何問題,但是打包時一直報“程式包不存在”。 思考一下:Maven本質上是一個外掛框架,它的核心並不執行任何具體的構建任務,所
Maven 打包時遇到的坑,哭會
我用的是ecplise自帶的maven外掛建立的工程,jdk版本都換了,還是說沒有jre環境。 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:
Android打包,如何打包時不包含依賴包
Eclipse中的實現是非常簡單的。 Eclipse如上圖去掉勾選就可以打出所需的包了! AndroidStudio 相比較而言,AndroidStudio 就比較麻煩一點。鑑於gradle提供的一體化功能,很多規則已經給你定好了。 AndroidStudi
Android Studio打包問題:gradle打包Android程式,如何打包時不包含依賴包
在一個Android專案的build.gradle中,dependencies閉包中有以下幾種形式的宣告: compile 'com.android.support:appcompat-v7:22.2.1' 編譯的內容為單個檔案 compile f
利用MAVEN打包可執行jar包,包括依賴的第三方包
看下專案pom.xml的配置,首先要配置maven-jar-plugin,把自己的程式碼編譯打包成jar檔案,然後配置maven-assembly-plugin,把整個專案打包成一個釋出包。 Xml程式碼 收藏程式碼 <build> <pl
利用java反射機制一次性呼叫實體類get和set方法,簡化更多程式碼。
外部呼叫getProperty方法時只需要傳入實體物件即可;例如TestUtil.getProperty(new User()); 外部呼叫setProperty方法時只需要傳入實體物件和要set的值即可;例如TestUtil.setProperty(new User()
maven package 打包時,執行 mybatis-generator-maven-plugin 外掛問題
maven package打包時,會自動執行 mybatis-generator-maven-plugin 外掛,導致mapper對映檔案被追加而出現錯誤,實體也會被覆蓋。在pom.xml的mybatis-generator-maven-plugin外掛中設定<exec
maven打包時出現【java source 1.3中不支援泛型 請使用 -source 5 或更高版本以啟用泛型】錯誤時的解決方法
出現【java source 1.3中不支援泛型 請使用 -source 5 或更高版本以啟用泛型】問題的原因是因為jdk版本使用不對,maven編譯打包時找到的是低版本的jdk,可以在總pom中新增以下語句顯示指明使用版本為1.6的jdk即可解決這個問題 <buil
Maven打包時自動選擇不同的配置(利用profile和filter外掛)
專案開發時,一般都會部署到兩套以上不同的環境中(比如開發環境和生產環境)。打包的時候需要修改配置檔案中的很多資訊、或替換不同的配置檔案,很容易出錯而且不方便。下面舉例介紹如何利用Maven的profi
maven 打包時動態替換properties資源文件中的配置值
mave tools false sof get per 執行 ces pre pom build節點下面添加resource配置: [html] view plain copy <resources>
程序員如何利用好自己的時間學習更多的知識?
程序員如何正確的制定目標我相信絕大多數的人應該都制定過目標,比如“我要減肥”,“我要學習XXX技術”,“我要看書”,“我要寫博客” …. 。那麽請問:你曾經制定的目標完成了嗎?我猜肯定有人是從入門到放棄,有的人甚至還有些不甘心,當時間過了之後就把之前的目標時間延後,如:2017年過了但是還是沒完成年度目標,於
eclipse使用maven打包時去掉測試類
size efi pom maven打包 clip 配置 pid code xml文件 eclipse使用maven打包時去掉測試類 在pom.xml文件中增加如下配置: <plugin> <groupId>org.apache.mav
input屬性type為file打開文件資源管理器時,如何限制多次選取或只能一次選取的行為
esc image object ttr itl 文件 ctu 轉化 idt 1、input標簽沒有設置multiple屬性,文件資源管理器默認一次選取 <!doctype html> <html lang="en"> <head>