我想将settings.xml配置文件参数注入Java类.我尝试使用maven-annotation-plugin,但值为null.我想知道这是不是因为这个插件是为Mojo设计的
Setting.xml片段
<profiles>
<profile>
<id>APP_NAME</id>
<properties>
<test.email>USER_EMAIL</test.email>
<test.password>USER_PASSWORD</test.password>
</properties>
</profile>
</profiles>
在班上
@Parameter(defaultValue = "test.email", readonly = true)
private String userEmail;
@Parameter(defaultValue = "test.password", readonly = true)
private String userPassword;
解决方法:
我会使用maven-resources-plugin生成.properties文件并避免生成代码.
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<build>
并创建文件src / main / resources / com / example / your / file.properties:
testMail = ${test.email}
propertyName = ${maven.variable.name}
在Java中访问它:
getClass().getResourceAsStream("/com/example/your/file.properties")
为了更进一步,您可以使用maven-enforcer-plugin强制执行test.email属性:
<build>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-email-properties</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>test.email</property>
<message>
The 'test.email' property is missing.
It must [your free error text here]
</message>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</build>
标签:java,maven,code-injection 来源: https://codeday.me/bug/20190725/1535188.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。