访问 pom 中定义的 Maven 属性

新手上路,请多包涵

如何在普通 Maven 项目和 Maven 插件项目中访问 pom 中定义的 Maven 属性?

原文由 SparedWhisle 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 567
1 个回答

使用 properties-maven-plugin 在编译时将特定的 pom properties 写入文件,然后在运行时读取该文件。

在你的 pom.xml 中:

 <properties>
     <name>${project.name}</name>
     <version>${project.version}</version>
     <foo>bar</foo>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0.0</version>
            <executions>
                <execution>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>write-project-properties</goal>
                    </goals>
                    <configuration>
                        <outputFile>${project.build.outputDirectory}/my.properties</outputFile>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

然后在 .java 中:

 java.io.InputStream is = this.getClass().getResourceAsStream("my.properties");
java.util.Properties p = new Properties();
p.load(is);
String name = p.getProperty("name");
String version = p.getProperty("version");
String foo = p.getProperty("foo");

原文由 Leif Gruenwoldt 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题