2
我正在使用Struts 2 Web应用程序。它有很多模块和功能。我想根据客户要求启用或禁用(或删除)一些模块。但在单个WAR文件部署下的Struts 2中,我怎样才能使它成为模块化?在部署时可以取出一些模块吗?Struts 2模块化Web应用程序
在此先感谢。
我正在使用Struts 2 Web应用程序。它有很多模块和功能。我想根据客户要求启用或禁用(或删除)一些模块。但在单个WAR文件部署下的Struts 2中,我怎样才能使它成为模块化?在部署时可以取出一些模块吗?Struts 2模块化Web应用程序
在此先感谢。
如果您使用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>
...
你能描述一下你的意思是模块?你可以创建模块作为罐子并按照你的要求使用它们 – 2012-03-06 05:46:18
如果你的意思是模块在struts2命名空间中,你可能想要获得actionmapping,并删除你不需要的模块?这是想法,但如果你删除映射,如果有一个名称空间映射调用,不会导致异常? – Jasonw 2012-03-06 08:46:23