在maven中,如何在输出jar的同一位置包含非java src文件?

在maven中,如何在输出jar的同一位置包含非java src文件?,jar,maven,Jar,Maven,我收到了一个源代码包。在src目录树中有一些属性文件(.properties),我想将它们保存在输出jar中的相同位置。e、 g:我想要 src/main/java/com.mycompany/utils/Myclass.java src/main/java/com.mycompany/utils/Myclass.properties 要在jar中保持不变,请执行以下操作: com.mycompany/utils/Myclass.class com.mycompany/utils/Mycl

我收到了一个源代码包。在src目录树中有一些属性文件(.properties),我想将它们保存在输出jar中的相同位置。e、 g:我想要

src/main/java/com.mycompany/utils/Myclass.java 
src/main/java/com.mycompany/utils/Myclass.properties
要在jar中保持不变,请执行以下操作:

com.mycompany/utils/Myclass.class 
com.mycompany/utils/Myclass.properties

无需将属性文件添加到单独的资源文件夹中。有什么方法可以告诉maven吗?

您可以在pom中添加以下内容,表明资源在
src/main/java
中可用,包括资源类型

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>

src/main/java
**/*.物业

在这个pom片段中,您可以包含任何对于主工件和测试工件都不是java文件的内容:

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    <testResources>
        <testResource>
            <directory>src/test/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>
</build>

src/main/java
**/*.爪哇
src/test/java
**/*.爪哇

包括并混合所有非.java src文件和src/main/resources:

<resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>${project.build.sourceDirectory}</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>

    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
        </testResource>
        <testResource>
            <directory>${project.build.testSourceDirectory}</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>

src/main/resources
${project.build.sourceDirectory}
**/*.爪哇
src/测试/资源
${project.build.testSourceDirectory}
**/*.爪哇

如果您将它们放在src/main/resources中,默认情况下会包含它们。仅供参考,对于maven新手,如果资源节点不存在,则资源节点将位于该节点下……如果您将它们放在src/main/resources中,然后,您可能需要设置一个文件夹结构,如src/main/resources/com/mycompany/utilsi,如果您只想包含该目录中的一个特殊文件,请添加行
**/special.file
。谢谢。这就是我想要的:
src/main/java**/*.java