我有一些在Maven中安裝的外部配置(XML文件)。我需要將它們放在我的測試類路徑中,但它們沒有出現。XML maven工件不在類路徑上
他們必須保持爲XML,我無法將它們打包一個Jar內 - 但我願意去嘗試別的爲此,自定義插件等
(請不要告訴我,Maven是隻對瓶 - 這是不正確的(如果你提供一個參考駁,我可以向你保證,這是外的日期/誤傳)
的依賴是這樣規定的:
<dependency>
<groupId>some.group</groupId>
<artifactId>some.artifact</artifactId>
<version>${project.version}</version>
<scope>test</scope>
<type>xml</type>
<classifier>some.classifier</classifier>
</dependency>
這些XML文物已經。由build-helper插件創建(所以沒有1- 2-1與他們的項目的POM)。
我唯一的當前hacky解決方案是檢查M2_HOME屬性並從那裏加載文件(因爲它們被定義爲Maven確實將它們拉下來的依賴關係) - 但我對此並不滿意。
編輯:下一個最好的hack可能是使用maven-dependency-plugin將它們複製到輸出目錄(target/classes)。如果我的配置適用於Jars,那麼這個味道就像一個Maven bug。
編輯2:@khmarbaise要求構建輔助性插件配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/classes/ddl-seed.xml</file>
<type>xml</type>
<classifier>ddl-seed</classifier>
</artifact>
<!-- ... more definitions -->
這將生成所有XML工件正確的Maven的元數據local.xml中的數據。
您可以顯示您創建XML工件的pom嗎?你提到了構建助手maven插件,但是如何? – khmarbaise
@khmarbaise編輯的問題,以包括配置,但我懷疑是否有任何問題,因爲Maven能夠解決的XML文件作爲依賴,它只是不把它們放在類路徑 – earcam
問題是爲什麼你不喜歡把它們放進一個罐子裏? – khmarbaise