我决定将一个动态 Web 应用程序拆分为两个动态 Web 应用程序,一个核心部分和一个项目特定部分。如果我运行 maven,由于它的 pom.xml,我会得到一个核心项目的 JAR 文件。
但是,对于 WTP,我似乎无法说服 Eclipse 将核心项目部署为 JAR 文件。如果我将项目“部署程序集”中的目标文件名从blah.war
to编辑blah.jar
,关闭并重新打开项目属性,它又是一个 WAR 文件。
所以我决定尝试把核心项目做成一个web片段模块(我拆分原项目的时候没有注意到)。如果我取消选择“Dynamic Web Module”并在项目方面选择“Web Fragment Module”,则不允许单击“Apply”或“OK”,因为它们是灰色的。
现在我该怎么做?最后,我希望 WTP 将核心项目的 JAR 文件写入 web-app 的 lib 文件夹。
编辑:
我创建了一个新的 Web 片段项目并试图找到与我的动态 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 文件并创建它,但仅仅因为它正在工作并不一定意味着我没有破坏其他任何东西。