我有pom.xml和自定义mojo插件,需要String []参数。目前我正在使用pom.xml来设置值,但现在我希望它应该从属性文件中提取。
我正在使用maven属性插件来读取简单的属性,但我无法为String []执行此操作,我尝试放入;单独的格式,但我的构建不能成功。
我的pom.xml文件目前的值设置如下(这是有效的)
<configuration>
<wcsServerId>${deployWcsServerId}</wcsServerId>
<deployments>
<param>@SITE:*</param>
<param>AttrTypes</param>
<param>ContentAttribute</param>
</deployments>
</configuration>
我尝试在我的属性文件中添加以下内容并设法使用maven属性插件读取它,但构建未成功运行。
我的属性文件值
global.flags=@SITE:; AttrTypes:; ContentAttribute:; ContentFilter:
然后我按如下方式调用它,在运行时值被拾取但不知何故构建失败。
<configuration>
<wcsServerId>${deployWcsServerId}</wcsServerId>
<deployments>
<param>${global.flags}</param>
</deployments>
</configuration>
任何建议或maven插件建议用于多个参数?
答案 0 :(得分:1)
您可以使用Maven settings.xml文件来定义具有多个属性的特殊配置文件。
<settings>
<profiles>
<profile>
<id>MyProperties</id>
<properties>
<mojo.plugin.p1>@SITE:*</mojo.plugin.p1>
<mojo.plugin.p2>AttrTypes</mojo.plugin.p2>
...</properties></profile></profiles>
</settings>
然后让你的pom.xml看起来像
<configuration>
<wcsServerId>${deployWcsServerId}</wcsServerId>
<deployments>
<param>${mojo.plugin.p1}</param>
<param>${mojo.plugin.p2}</param>
<param>${...}</param>
</deployments>
</configuration>
现在你可以用这种方式运行Maven
mvn -P&lt; MyProperties,&lt;任何其他个人资料&gt;&gt; &lt;目标&GT;
此外,您可以在标记
之后添加到settings.xml<activeProfiles>
<activeProfile>MyProperties</activeProfile></activeProfiles>
答案 1 :(得分:0)
我自己设法解决了这个问题....
oracle csdt插件需要以特定顺序传递参数。
CSDT将按照找到的顺序处理项目。
这意味着它可以尝试在依赖项之前导入资产,即使该批处理中的依赖项存在。
避免这些问题的方法是确保按顺序导入资产。
订单与您在创建网站时使用的订单相同,例如@SITE,@ ATTRIBUTE,@ PARENTDEF等。