2017-03-16 139 views
0

在我的pom.xml文件,我有:定義sourceDirectory在Maven的配置文件

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <resources> .. </resources> 
    <plugins> .. </plugins> 
</build> 

然而,當我嘗試使用Maven型材:

<profiles> 
    <profile> 
     <id>profileId</id> 
     <build> 
      <sourceDirectory>src</sourceDirectory> 
      <resources> .. </resources> 
      <plugins> .. </plugins> 
     </build> 
    </profile> 
</profiles> 

Maven的給了我一個錯誤說:

Unrecognised tag: 'sourceDirectory' (position: START_TAG seen ...<build>\r\n    <sourceDirectory>... @14:34) 

爲什麼它不讓我在配置文件中定義源目錄?有沒有辦法在配置文件中定義sourceDirectory?

+0

爲什麼你想更改sourceDirectory?通常它沒有意義... – khmarbaise

+0

該項目有多個源目錄。在Jenkins上,我想要有多個具有相同項目但根據maven配置文件在不同目錄中執行代碼的作業。雖然我同意這不是最好的方法,但我只是好奇,看看它是如何工作的 – pratikpncl

+0

錯誤的設置。這聽起來像你需要有不同的模塊,而不是我不知道爲什麼你需要不同的sourceDirectories。這聽起來像是你需要將不同的源代碼目錄放入不同的模塊中,這將解決問題,並且你可以在Maven中保留配置pardigm的約定。 – khmarbaise

回答

2

根據,您只能更改配置文件中的幾個參數,並且<sourceDirectory>不是其中之一。

我會配置主要<build>採取從路徑源通過一些屬性定義(如:src.dir)和該屬性設置爲src/main/java和自定義配置文件覆蓋它:

<project> 
    ... 
    <properties> 
     <src.dir>src/main/java</src.dir> 
    </properties> 
    <build> 
     <sourceDirectory>${src.dir}</sourceDirectory> 
     ... 
    </build> 
    <profiles> 
     <profile> 
      <id>development</id> 
      <properties> 
       <src.dir>${project.build.directory}/new-src</src.dir> 
      </properties> 
     </profile> 
    </profiles> 
</project>