将属性文件读入maven pom.xml无法正常工作

时间:2016-11-16 09:26:11

标签: maven pom.xml properties-file

我需要在maven pom.xml中使用属性文件中的值,所以我使用properties-maven-plugin来读取我的属性文件,如下所示

的pom.xml

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>read-project-properties</goal>
            </goals>
            <configuration>
                <files>
                    <file>${basedir}/src/main/resources/qura.properties</file>
                </files>
            </configuration>
        </execution>
    </executions>
</plugin>

qura.properties文件包含类似的内容..

config.file.path = resources/python/config/test.py

我需要在pom.xml的资源元素中使用这个config.file.path变量

的pom.xml

<resources>
    <resource>
        <directory>${basedir}/multilang/</directory>
        <includes>              
            <include>${config.file.path}</include>
        </includes>
    </resource>
<resources>

但是$ {config.file.path}的值没有从qura.properties文件中占用,我无法在jar中找到test.py文件。

我在这段代码中做错了什么?

先谢谢

2 个答案:

答案 0 :(得分:0)

尝试使用版本1.0.0并删除属性文件中等号周围的空格。

例如:

key=value

答案 1 :(得分:0)

IMO,无论您是否在属性文件中放置等号或无符号都无关紧要。您可能需要检查${config.file.path}

指定的目录中是否存在${basedir}/multilang

以下代码段对我有用。

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>src/main</directory>
                                <includes>
                                    <include>${config.file.path}</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                    <inherited></inherited>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0-alpha-2</version>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>read-project-properties</goal>
                    </goals>
                    <configuration>
                        <files>
                            <file>${basedir}/src/main/resources/qura.properties</file>
                        </files>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>