我有一個maven項目,我已經安裝了m2eclipse。當我構建項目時,src/main/resources中的文件不會被複制到target/classes文件夾中。 任何幫助是高度讚賞。m2eclipse不復制src/main/resources到目標
回答
讀你什麼時候資源被複制的所有意見後,當他們不這樣做(即,直到Eclipse構建被調用一切工作正常),它很可能是maven2Builder被禁用。你可以使用maven2Nature,它很好地配置你的類路徑,但是如果你禁用了maven2Builder,只有源代碼將被編譯並複製到target/classes
(或者你的.classpath
中配置的任何東西)。
考慮一個非常簡單的演示項目配置(.project
文件在Eclipse項目的根):
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>m2demo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<!--
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
-->
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
在這個例子中,我有評論maven2Builder導致正是你所得到的是相同的行爲。
我通常喜歡看到實際的.project
和.classpath
文件內容,但它都可以通過項目屬性進行訪問。你會在項目屬性中找到'Builders'部分,並且應該有'Maven Project Builder'複選框項目。
如果資源未被複制,可能是因爲「資源」未正確定義。您需要向Maven指出資源是什麼。
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<!-- you can define here more than one resource -->
</resources>
...
</build>
謝謝。我應該把它放在我的POM中? – 2012-08-02 10:31:05
默認複製它們的許多包裝樣式,包括默認的'jar'。 – 2012-08-02 10:31:11
AS @DuncanJones指出,默認情況下已完成,但應該檢查資源配置,因爲當前配置可能導致問題。 – jddsantaella 2012-08-02 10:36:08
在我的項目中,我觀察到即使我在pom.xml中指定了資源標記並配置了maven2Builder,資源仍然不會被複制。爲了解決這個問題我手動編輯當初是
<classpathentry including="**/*.java" kind="src" output="target/classes" path="java_source">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
是
<classpathentry kind="src" output="target/classes" path="java_source">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
基本上,你必須刪除including="**/*.java"
非.classpath文件(它存在於你的項目的頂層)。類文件被複制過來。
這樣的服務。我只需要將「路徑」屬性更改爲「src」。謝謝! – Mike 2016-04-28 13:57:50
對我來說,這個問題是一個明顯的問題...... Project-> Build Automatically被關閉。構建時調用複製資源的m2e構建器。打開自動構建或執行項目 - >全部構建(ctrl-b)將已更改的資源部署到目標/類。
我有類似的問題,並嘗試手動開始構建,清理,禁用/重新啓用maven性質。我的資源文件夾中有10個XML文件。其中兩個,從來沒有被複制到目標/課程。如果我重命名它們,它們會被複制。如果我將它們重命名爲原始文件名,它們不會被複制。 – 2014-08-07 13:19:27
我有這個相同的問題,並從項目中刪除了maven的性質,並將其添加回來。然後我的資源文件被正確複製。
我也遇到了這個問題,它原來是我不小心排除複印資源與M2E生命週期映射過濾器:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>resources</goal>
<goal>testResources</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
的「行動」應爲「執行」,而不是...
- 1. 複製生成jar或war文件複製到目標目錄
- 2. 空目標列表中的m2eclipse(MAVEN)
- 3. m2eclipse將'target'目錄標記爲'Derived'
- 4. Makefile不會將.o複製到obj /並將目標複製到bin /文件夾
- 5. '當目標不是目錄'時,將單個文件複製到多個目標
- 6. 目標「複製依賴」不復制父POM
- 7. 目標C - 複製NSArray不會真的複製對象嗎?
- 8. 如何修復m2eclipse插件?
- 9. 將文件多次複製到不同的目標文件夾
- 10. 在插件com.heroku.sdk找不到目標'複製'
- 11. Xcode 9不再將xcasset複製到捆綁目標
- 12. 在文件複製過程中找不到目標文件
- 13. Xcode將不需要的文件複製到目標中
- 14. VB.NET不是一個文件夾複製到新的目標
- 15. m2eclipse多個模塊項目
- 16. maven m2eclipse多模塊項目
- 17. PowerShell的 - 比較源和目標目錄中的.txt文件。複製已經不在目標的所有文件複製到目標和第三目錄
- 18. PowerShell:複製項目找不到路徑
- 19. Plist不會複製到文檔目錄
- 20. 「複製本地」不會複製程序集到輸出目錄
- 21. 複製到輸出目錄=複製始終不適用於VS2013
- 22. 如何在目標文件夾存在時將子項目複製到目標?
- 23. 使用SBT將源文件複製到目標目錄中
- 24. 複製更新從源到目標目錄發行
- 25. 將文件夾從pluginBasedir複製到目標項目
- 26. 將目標從一個Xcode項目複製到另一個?
- 27. Python和Paramiko將目錄複製到目標機器
- 28. 將文件複製到Qt Creator中的目標目錄
- 29. 將文件複製到目標目錄建立
- 30. 螞蟻複製目錄並將名稱添加到目標
你可以請你發佈你的pom.xml,特別是生成部分 – itshorty 2012-08-02 10:27:11
告訴我們你的包裝樣式,並看看這個POM是否有一個父資源目錄可能已被重新定義。 – 2012-08-02 10:35:46
@Arturs Licis:包裝風格是罐子,我沒有父母的包裝。 – 2012-08-02 10:49:13