Maven專案配置多個原始檔夾
需求
Maven 為我們提供了一致的專案目錄配置(原始檔夾、資原始檔夾等),在自動構建專案時, Maven 會按照這個配置來執行操作(編譯原始檔、拷貝資原始檔)。
當 Maven 規約的預設配置不能夠滿足我們的需求時,我們就要動手修改專案的 Maven 配置,讓我們的專案能夠與 Maven 很好地協同工作。這裡討論的需求有:
- 配置多個原始檔夾來管理我們專案的模組
- 配置多個資原始檔夾來管理我們專案模組的資原始檔
- 有些遺留程式碼的一些資原始檔是放在原始檔夾下的,為了不改變原有專案結構,我希望 Maven 能夠從原始檔夾下讀取資原始檔
- 我想將專案模組的原始檔和資原始檔放置在同一個資料夾下,以方便開發與維護
pom.xml
- 配置專案的pom檔案(Maven配置檔案)
1.1. Maven 預設的原始檔夾及資原始檔夾配置
<build>
...
< sourceDirectory > src/main/java </ sourceDirectory >
< testSourceDirectory > src/test/java </ testSourceDirectory >
< resources >
< resource >
< directory > src/main/resources </ directory >
</ resource >
</ resources >
< testResources >
< testResource >
< directory > src/test/resources </ directory >
</ testResource >
</ testResources >
...
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
在 eclipse 下,專案原始檔夾及資原始檔夾展現成這樣:
1.2 配置多個資原始檔夾
從上面 Maven 的預設配置來看,原始檔夾和測試原始檔夾都只能配置一個,要配置多個原始檔夾比較困難。這裡我們先展示如何配置多個資原始檔夾。
有人會認為,在 eclipse 下將這些資料夾都設定為原始檔夾不就 OK 了嗎?其實不然, Maven 在構建的時候並不會去讀取任何 IDE 的配置資訊,所以他不會知道我們在 eclipse 下指定的原始檔夾,也不會將這些原始檔夾下的程式碼編譯打包。
配置多個資原始檔夾的程式碼:
<build>
...
< resources >
< resource >
< directory > src/main/resources </ directory >
</ resource >
< resource >
< directory > src/labs/resources </ directory >
</ resource >
</ resources >
...
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
配置好以後, IDE ( eclipse )不會識別我們的配置,我們需要更新專案的配置:
更新後, 在 eclipse 下專案原始檔夾及資原始檔夾展現成這樣(多了一個資原始檔夾):
1.3 配置讀取原始檔夾裡的資原始檔
為了讓 Maven 能夠從原始檔夾下讀取資原始檔(或將所有資原始檔配置到原始檔夾下),我們可以這樣配置:
<build>
...
< resources >
< resource >
< directory > src/main/resources </ directory >
</ resource >
< resource >
< directory > src/labs/resources </ directory >
</ resource >
< resource >
< directory > src/main/java </ directory >
< includes >
< include > **/*.hbm.xml </ include >
</ includes >
</ resource >
< resource >
< directory > src/labs/java </ directory >
< includes >
< include > **/*.hbm.xml </ include >
</ includes >
</ resource >
</ resources >
...
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
這樣,不僅 src/main/resources 和 src/labs/resources 這兩個目錄下的檔案會作為資原始檔被打包, src/main/java 和 src/labs/java 目錄下的所有 .hbm.xml 檔案也都會作為資原始檔被打包。否則, Maven 構建時不會打包這兩個目錄下的 .hbm.xml 檔案,導致執行時因為找不到資原始檔而拋異常。
1.4 配置多個原始檔夾
前面講過, Maven 預設只支援一個原始檔夾,為了給專案配置多個原始檔夾,我們需要用到一個 Maven 外掛,目的是在 Maven 構建生命週期內為專案新增原始檔夾:
<build>
...
<plugins>
...
<!-- build-helper-maven-plugin, 設定多個原始檔夾 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${basedir}/src/labs/java</source>
<!-- 我們可以通過在這裡新增多個source節點,來新增任意多個原始檔夾 -->
</sources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
更新專案配置(操作同2.2)後,在eclipse下專案原始檔夾及資原始檔夾展現成這樣(多了一個原始檔夾):
相關推薦
Maven專案配置多個原始檔夾
需求Maven 為我們提供了一致的專案目錄配置(原始檔夾、資原始檔夾等),在自動構建專案時, Maven 會按照這個配置來執行操作(編譯原始檔、拷貝資原始檔)。 當 Maven 規約的預設配置不能夠滿足我們的需求時,我們就要動手修改專案的 Maven 配置,讓我們的專案能夠與 Maven 很好地協同工作。這裡
spring boot專案配置多個環境
比如我的spring boot專案有開發(dev)、測試(test)、生產(prod)三個環境,需要有三套對應的配置檔案。如下 在專案裡application.yml為主配置檔案,另外三個分別對應
nginx 一個域名配置多個資料夾
server { listen 80; server_name mall.cn; #charset koi8-r; access_log logs/access.log main; client_max_body_
Git本地專案配置多個遠端倉庫
目錄 Git一個專案多個遠端倉庫的使用 本地專案配置多個遠端倉庫 現在專案中有一個需求就是一個專案需要推送到多個遠端倉庫。 首先在工作目錄開啟git-bash 然後輸入git rem
Maven專案Java Resoures資原始檔夾出現小紅叉解決方案
錯誤說明:eclipse+maven下Java Resoures資原始檔夾出現小紅叉。 錯誤提示內容:One or more constraints have not been satisfied. 錯誤原因: Deployment Assembly跟Jav
Android Studio 配置多個程式碼倉庫(maven)
收集了一些。方便copy使用。 repositories { mavenCentral() maven { url "https://jitpack.io" } maven { url "http://maven.aliyun.com/nexus/content/grou
nginx配置多個前端專案
最近一臺伺服器要配置多個前端專案,當然前後端分離就需要nginx來配置了。 單個專案還好說,如下 修改nginx的nginx.conf配置檔案 #user nobody; worker_processes 1; #error_log logs/error.log; #
Nginx同一個域名配置多個專案
使用Nginx要在同一個域名下配置多個專案有兩種方式: nginx按不同的目錄分發給不同的專案 啟用二級域名,不同的專案分配不同的二級域名 1.nginx按不同的目錄分發給不同的專案: server { listen 80; server_nam
Nginx配置多個專案放在不同的tomcat中,共享同一個埠
一、準備兩個tomcat以及Nginx安裝包 1.1分別命名為tomcat1,tomcat2。 1.2在兩個tomcat的webapps下面分別新建個專案 server1,server2. 二、配置Ngnix的配置檔案 http { include
nginx tomcat 配置 多個 二級域名 多個專案
我想要的是 訪問 news.test.com , 實際訪問的是 tomcat 下面的news 專案 ,訪問 forum.test.com ,實際訪問的是 tomcat 下面的 luntan 專案,但是瀏覽器地址 欄url news.test.com 、forum.test.com 不變 ,不要變成 news
Tomcat 利用server.xml配置多個專案部署
tomcat的conf目錄下的server.xml配置檔案進行web專案的對映部署,把不在webApp目錄的專案部署執行起來 這樣只需要指定編譯後的目錄和tomcat部署的目錄相同 <Host
maven倉庫中心mirrors配置多個下載中心(執行最快的映象)
在日常生活中,我們使用maven下載需要的jar包,但是很多的時候由於中央倉庫沒有,所以我們沒有辦法下載到需要的jar包,手動去下載上,然後放入到lib下,然後build path有的時候會感到很不舒服,不是很是不實用。所以此處可以在maven的設定中心新增多個下載倉庫,這樣
Tomcat8.5 多埠 配置多個專案的方法
一、 需要的環境 :自行安裝好 Tomcat 8.5 。 以及兩個以上java的 web專案,打包成war包。 二 、把war包放在 webapps 目錄下面 , 如下(根據自己路徑來放置) E:\wamp\Tomcat 8.5\webapps 三、開啟配置
Tomcat8配置多個埠訪問各埠對應的JavaWeb專案
背景:最近遇到個專案部署的小要求:一個tomcat下配置多個埠去訪問埠對應的JavaWeb專案原理:tomcat中conf下server.xml檔案中的service節點即可配置tomcat的埠號及對應的專案配置步驟:1.開啟tomcat下conf資料夾中的serve.xml
tomcat配置多個虛擬host,訪問不同的web專案
想要在一個tomcat下訪問兩個web專案時,可以通過新增虛擬host的方式來解決。 詳細步驟如下: 1、將兩個專案打包放入tomcat的webapps目錄下; 2、修改tomcat的server.xml檔案,原來的程式
Maven pom中配置多個遠端倉庫
原文地址:http://www.xuebuyuan.com/1124933.html <repositories> <repository> <id>datanucleus</id> <url>
通過htaccess文件配置多個一級域名指向根目錄的子文件夾
域名 yml con 系統 ase div color abc engine 創建.htaccess文件,在Windows系統創建時要寫成“.htaccess.”,不帶雙引號,否則不會創建成功。 <IfModule mod_rewri
apache 配置多個埠,部署多個專案
修改httpd.conf配置檔案 1、新增監聽埠 Listen 70 2、配置要訪問的專案,在httpd.conf檔案中新增如下內容 <VirtualHost *:70> DocumentRoot /home/CMS/GYCMS/
Maven配置多個映象(切換倉庫下載Jar包)
<!--配置兩個映象,達到多個倉庫資料來源--><mirrors> <!--你的私服倉庫--> <mirror> <id>resposity1</id> <mirror
使用maven整合多個web專案,多個war合併
再執行mvn package -f pom-all.xml 即可<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x