Maven将属性文件添加到jar文件中

AKZ*_*AKZ 8 java jar properties maven

我使用下面的插件配置做一个jar文件,我想描述包括在输出罐子一样的地方非Java的src的文件在这里.

        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <compilerArgument>-Xlint:all</compilerArgument>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>   
            <!-- include non-java src files in the same place in the output jar -->
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>                                     
        </configuration>  
Run Code Online (Sandbox Code Playgroud)

以上情况不起作用,以下情况也不起作用:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <!-- include non-java src files in the same place in the output jar -->
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>
        </configuration>
    </plugin>        

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <compilerArgument>-Xlint:all</compilerArgument>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>                    
        </configuration>                
    </plugin>
Run Code Online (Sandbox Code Playgroud)

Ron*_*ite 11

我这样做了,功能完美.

    </dependencies>
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

  • 不要这样做.从运行时在类路径中加载的文件是资源,而不是Java代码.看到另一个答案. (6认同)

And*_*wik 9

在同一个包(文件夹)中添加文件src/main/resources而不是src/main/java或看到我的答案使用maven - clean包,xml源文件不包含在类路径中