我有Java项目,上面有不同的模块。该项目有一个核心模块,其中保留了所有常见配置文件。每个模块都有单独的配置文件,如.properties
文件,hibernate.cfg
,web.xml
等。每次所有模块都不必在最终版本中存在。
我的问题是,假设有3个模块,如A,B和B等。 C存在。每个都有web.xml
,它只包含必要的servlet和映射。我想知道在构建时如何连接这些web.xml
。我知道从ant
我可以调用Java应用程序。标签的位置在web.xml
中非常重要。
如何有效地连接这些web.xml
?我为此尝试了xstream,但这是一次失败。
答案 0 :(得分:0)
你的问题本身有答案,编写一个小的java程序来解析你想要组合的所有XML,得到所需的nodeList,按你想要的顺序写入新的XML。 在Ant构建期间调用此java程序。
答案 1 :(得分:0)
您可以通过以下方式实现这一目标:
Map
了解如何编组对象。或使用official教程JSON.org
将整个XML转换为JSON,并合并每个XML并从JSON重建XML。 注意:为此不使用xstream
,它会反转整个XML,从而导致生成的XML出现验证错误。答案 2 :(得分:0)
如果您使用的是Servlet 3.0容器,那么只有您的核心模块会有web.xml
,而您的其他模块都会提供自己的web-fragment.xml
。
答案 3 :(得分:0)
xmltask非常适合使用ant进行xmlprocessing
在此查看详细信息和示例:
xmltask:
xml task manual
xml manipulation using xml task
有用的xpath链接:
http://zvon.org/xxl/XPathTutorial/
http://www.w3schools.com/xpath/