簡體   English   中英

Maven不復制非Java文件

[英]Maven does not copy non-java files

我有以下一個pom.xml文件:

<sourceDirectory>${basedir}/src/main/test</sourceDirectory>
<outputDirectory>${basedir}/src/main/bin </outputDirectory>

${basedir}/src/main/test我有一些不包含任何.java文件的文件夾。 當我開始編譯時,它們不會被復制到${basedir}/src/main/bin目錄中。

只有.java文件被移動(當然編譯后),並存儲在正確的文件夾。

有人可以在不使用任何插件的情況下幫助我解決此問題嗎?

我嘗試過

<resources>
        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/scenarios</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/scenarios</targetPath>
        </resource>

        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/sut</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/sut</targetPath>
        </resource>

    </resources>

但這行不通。 怎么了?

如果它們不是Java文件,則應將它們移至src/main/resources和/或src/test/resources目錄。 這是存儲非Java文件的Maven約定。

您的另一個選擇是使用maven-resources-plugin

  <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
    <resources>
        <resource>
        <directory>src/main/test</directory>
            <includes>
                <include> <the_files_you_want_to_include></include>
            </includes>
        </resource>
    </resources>

您還有另一個選擇是使用maven-antrun-plugin並執行ant任務來手動復制文件。

您可以使用Maven資源插件將src / main / test添加為資源目錄。 有關基本信息,請參見http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.htmlhttp://maven.apache.org/plugins/maven-resources-plugin/examples/ include-exclude.html ,僅提供有關某些文件的信息(因為您不想復制.java文件)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM