有什么方法可以使用两个不同的配置文件在settings.xml文件执行两个不同的构建在不同的服务器上?例如:在我的settings.xml文件中,我有两个配置文件:
<profile>
<id>test1</id>
<properties>
<liferay.version>6.2.10.9</liferay.version>
<liferay.maven.plugin.version>6.2.10.6</liferay.maven.plugin.version>
<liferay.auto.deploy.dir>Server1 Details</liferay.auto.deploy.dir>
<liferay.app.server.deploy.dir>Server1 Details</liferay.app.server.deploy.dir>
<liferay.app.server.lib.global.dir>Server1 Details</liferay.app.server.lib.global.dir>
<liferay.app.server.portal.dir>Server1 Details</liferay.app.server.portal.dir>
</properties>
</profile>
<profile>
<id>test2</id>
<properties>
<liferay.version>6.2.10.9</liferay.version>
<liferay.maven.plugin.version>6.2.10.6</liferay.maven.plugin.version>
<liferay.auto.deploy.dir>Server2 Details</liferay.auto.deploy.dir>
<liferay.app.server.deploy.dir>Server2 Details</liferay.app.server.deploy.dir>
<liferay.app.server.lib.global.dir>Server2 Details</liferay.app.server.lib.global.dir>
<liferay.app.server.portal.dir>Server2 Details</liferay.app.server.portal.dir>
</properties>
</properties>
</profile>
<activeProfiles>
<activeProfile>test1</activeProfile>
<activeProfile>test2</activeProfile>
</activeProfiles>
现在,我想要一个项目的“test1”配置文件和另一个项目的“test2”,我希望我的pom.xml构建属性从settings.xml配置文件的属性中获取。
如果我将两个概要文件都保存在“activeProfiles”中,那么我的两个项目都会选择“test2”详细信息并构建
在pom.xml我使用构建
<configuration>
<autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir>
<appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir>
<appServerLibGlobalDir>${liferay.app.server.lib.global.dir} </appServerLibGlobalDir>
<appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir>
<liferayVersion>${liferay.version}</liferayVersion>
<pluginName>portlet-name</pluginName>
<pluginType>portlet</pluginType>
</configuration>
请帮忙!
提前感谢!
难怪选择了test2。测试1和测试2都在
您很可能在两者中的任何一个中配置了相同的设置,尽管POM和settings.xmls是声明性的,即它们中没有程序流,但在Maven运行时解析它们时有一个流。然后test2
是后者并覆盖前一个test1的设置。
根据构建配置文件简介,停用配置文件:“从Maven 2.0.10开始,可以使用命令行停用一个或多个配置文件,方法是在其标识符前面加上字符‘!’或 '-' ".
我通过在设置中创建两个不同的配置文件来解决此问题。xml并保持为空。在使用eclipse时,我从eclipse Maven中为项目选择了不同的概要文件
我这样做的原因:在协作团队env中,我们只需要共享设置。xml文件,并在部署之前选择概要文件。无需更改pom。每次都是xml。
如果有人有更好的解决方案,请张贴。学习新东西总是好的。
问题内容: 我有一个独立使用两个依赖项的项目:BoneCP和Hibernate。但是由于SLF4J及其版本冲突,它无法正常工作,因为BoneCP需要SLF4J 1.5,而Hibernate需要SLF4j 1.6。如您所知,在pom.xml中不可能同时具有相同依赖项的两个不同版本。所以,我该怎么办才能解决这种惊人的SLF4J副作用??? 我得到的错误是臭名昭著的: 我需要添加它,但是不允许具有两个不
我有一个稳定的颤振通道SDK,位于c:\flutter。它在系统环境变量中设置为Flutter的默认路径。 在IntelliJ中为我们的客户创建新的Flutter项目时,我使用了这条路径c:\flutter。 我还在c:\flutter_master下载了颤振主频道,我需要将此颤动SDK(主)用于另一个项目。 对于不同的项目,我如何才能在同一设备上正确拥有两个工作颤振版本,而无需每次都使用系统环境
问题内容: 我正在为Java中的ERP系统进行定制。在我的定制中,我想使用Apache POI 3.10.1。因此,我集成了jars poi-3.10.1-20140818.jar和poi-ooxml-3.10.1-20140818.jar。 但是,这些jar包含几个类,这些类已经包含在ERP系统的核心代码中,但是有所不同。 如果核心ERP类覆盖POI类,则定制将引发运行时异常。如果POI类覆盖核
问题内容: 我有一个项目,其中有两个使用sqlline的单独模块和另一个依赖jline的库(例如OtherLib)。但是在不同版本上。 Module1使用Sqlline取决于 jline 2.10 Module2使用OtherLib取决于 jline 0.9.94 并且这两个版本不兼容。因此,我设置了类路径,以便Module1首先在 $ HOME / lib / module1 文件夹中搜索,而M
问题内容: 我使用以下两个依赖项: 两者必须为同一版本才能正常工作。由于我的其他依赖项使用更高的版本,因此Gradle为每个依赖项使用不同的版本。 我通过运行发现了这一点: 如何强制Gradle为这两个依赖项设置相同的版本? 问题答案: 您的依赖项之一是强制更新番石榴版本。使用以定位库驱逐你的版本。 您遇到的问题是,如果您强迫它使用14.0.1,则另一个库可能无法正常工作。您是否可以仅使用17.0
我使用以下两个依赖项: 两者必须是相同的版本才能正常工作。由于我的其他依赖项使用更高的版本,Gradle为每个依赖项使用不同的版本。 我通过运行找到了这一点: 如何强制Gradle为这两个依赖项设置相同的版本?