我使用的是Struts2Web应用程序。它有很多模块和功能。我想根据客户需求启用或禁用(或删除)某些模块。但是在Struts2中,在单个WAR文件部署下,如何将其模块化?是否可以在部署时删除一些模块??
提前谢谢。
发布于 2013-02-12 19:06:18
如果您使用Maven,那么您可以将某些类/包排除在生成的WAR中,并且您还可以拥有多个目标,并以这种方式排除代码的不同子集。
这种方法假设你要么将功能分离到多个"struts.xml“动作定义文件中,要么如果你使用带有注释的Struts2约定插件,那么你最终会得到一个非常好的解决方案。
因此,在pom.xml中,您必须首先排除所有模块:
<build>
<finalName>badNameUseBuildProfileInstead</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/struts-module1.xml</exclude>
<exclude>**/struts-module2.xml</exclude>
<exclude>**/struts-module3.xml</exclude>
</excludes>
</resource>
</resources>
...
然后创建一个包含所需模块的构建配置文件:
...
<profiles>
<profile>
<id>web</id>
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/struts-web.xml</include>
</includes>
</resource>
</resources>
...
https://stackoverflow.com/questions/9577748
复制相似问题