在不创建EAR的情况下将web facet添加到项目中

时间:2010-10-21 16:20:17

标签: java eclipse eclipse-plugin

我正在尝试通过添加所需的项目构面以编程方式将java项目转换为动态Web项目。

这是我的代码:

IProjectFacet JAVA_FACET    = ProjectFacetsManager.getProjectFacet("jst.java");
IProjectFacet WEB_FACET     = ProjectFacetsManager.getProjectFacet("jst.web");

iFacetedProject.installProjectFacet(JAVA_FACET.getVersion("5.0"), null, monitor);
iFacetedProject.installProjectFacet(WEB_FACET.getVersion("2.4"), null, monitor);

正确添加构面,IDE将项目识别为Web项目。 我看到的问题是添加facet还会创建一个我不想要的EAR项目。

有没有办法抑制创建EAR并只将facet添加到我的项目中?

1 个答案:

答案 0 :(得分:1)

为了避免产生耳朵,你可以试试这个:

IProjectFacet JAVA_FACET = ProjectFacetsManager.getProjectFacet("jst.java");
IProjectFacet WEB_FACET = ProjectFacetsManager.getProjectFacet("jst.web");

iFacetedProject.installProjectFacet(JAVA_FACET.getVersion("5.0"), null, monitor);

IDataModel aFacetInstallDataModel = DataModelFactory.createDataModel(new WebFacetInstallDataModelProvider());
aFacetInstallDataModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR, false);

iFacetedProject.installProjectFacet(WEB_FACET.getVersion("2.4"), aFacetInstallDataModel, monitor);

以同样的方式,你可以传递相同的功能自定义耳朵...