我决定将动态Web应用程序拆分为两个动态Web应用程序,一个核心部分和项目特定部分。如果我运行maven,由于它的pom.xml,我得到了一个核心项目的JAR文件。
但是,使用WTP,我似乎无法说服Eclipse将核心项目部署为JAR文件。如果我在项目的“部署程序集”中编辑目标文件名,从blah.war
到blah.jar
,请关闭并重新打开项目属性,它再次成为WAR文件。
所以我决定尝试使核心项目成为一个Web片段模块(当我拆分原始项目时,我没有注意到它)。如果我取消选择“动态Web模块”并在项目构面中选择“Web碎片模块”,则不允许单击“应用”或“确定”,因为它们是灰色的。
我现在该怎么办?最后,我希望WTP将核心项目的JAR文件写入web-app的lib-folder。
编辑:
我创建了一个新的Web Fragment Project,并尝试找到与我的动态Web项目明显的差异。唯一明显的区别在于.settings/org.eclipse.wst.common.project.facet.core.xml
,因为它是
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
现在是:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="java"/>
<fixed facet="jst.webfragment"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.webfragment" version="3.0"/>
</faceted-project>
覆盖该文件并假设其他所有内容仍按设计工作(在此处谈到Eclipse)是否正确?我注意到Eclipse现在在“部署程序集”中建议一个JAR文件并创建它,但仅仅因为它起作用并不一定意味着我没有破坏其他任何东西。
答案 0 :(得分:1)
由于我没有遇到任何问题而且没有人争辩我猜我所描述的这种做法有效。