Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml SpringMaven生成两个WAR windows和unix同一应用程序_Xml_Spring_Maven_Unix_Tomcat - Fatal编程技术网

Xml SpringMaven生成两个WAR windows和unix同一应用程序

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

我有类似于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
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中运行最后一个配置文件,这将激活配置文件,具体取决于运行构建的操作系统,而不是运行战争的目标系统。。