Xml SpringMaven生成两个WAR windows和unix同一应用程序
我有类似于windows的应用程序上下文Xml SpringMaven生成两个WAR windows和unix同一应用程序,xml,spring,maven,unix,tomcat,Xml,Spring,Maven,Unix,Tomcat,我有类似于windows的应用程序上下文 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<import resource="file:C:/test/applicationContext.xml" />
</beans>
对于unix,应该是相同的,而不是C:
有opt
我的目标是
“mvn-清洁包”
要生成的两个war文件,例如myapp-windows.war和myapp-linux.war
myapp-windows.war应具有带有C:/test的windows应用程序上下文
myapp-unix.war应具有带有opt/test/的unix应用程序上下文
我应该如何设置applicationContext来实现这一点。我不确定这是否对您有帮助,但我想,您可以使用它来实现这一点。它不会同时生成两个war,但您可以根据操作系统系列配置设置,并根据运行的操作系统生成war
<profile>
<id>platform-windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<build>
<plugins>
...
</plugins>
</build>
</profile>
平台窗口
窗户
...
如果您想将配置外部化,最好有一个文件的相对路径。如果您仍然想使用绝对路径,可以使用maven profiles with获得不同的文件输出,具体取决于所使用的配置文件。@XtremeBiker我尝试在maven中为windows和unix创建单独的资源,也创建了两个配置文件,但当我运行clean并仅安装1个配置文件编译和1个war生成时,您需要运行clean install两次,每个要使用的配置文件一次。如果您想一步完成,只需编写一个简单的脚本。@XtremeBiker maven中有-P windows,unix解决了我的问题我尝试过这需要两次运行来生成这两个版本,也尝试过mvn package-P platform windows,platform unix,但它始终在pom中运行最后一个配置文件,这将激活配置文件,具体取决于运行构建的操作系统,而不是运行战争的目标系统。。