【发布时间】:2012-06-16 10:42:51
【问题描述】:
我编写了一个 Eclipse 插件,它使用来自 Eclipse WTP 的 API 创建一个新的“EAR 应用程序项目”。我在为这个新项目设置“运行时”值时遇到了一些困难。
当我使用 Eclipse GUI(作为“普通”用户)创建同一个项目时,这就是“org.eclipse.wst.common.project.facet.core.xml”的内容:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="GlassFish 3.1.2"/>
<fixed facet="jst.ear"/>
<installed facet="jst.ear" version="6.0"/>
<installed facet="sun.facet" version="9"/>
</faceted-project>
但是在创建 Faceted Project(使用 WTP 插件提供的 API)时,我找不到将以下值设置到我的 EAP 项目的方法:
<runtime name="GlassFish 3.1.2"/>
<fixed facet="jst.ear"/>
以下是我以编程方式创建此项目时编写的相同 XML:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="jst.ear" version="6.0"/>
<installed facet="sun.facet" version="9"/>
</faceted-project>
我是这样创建这个项目的:
IFacetedProject facetedProject = ProjectFacetsManager.create("prj1", new Path(prj), null);
IFacetedProjectWorkingCopy workingCopy = facetedProject.createWorkingCopy();
IProjectFacet jstFacet = ProjectFacetsManager.getProjectFacet("jst.ear");
IProjectFacet sunFacet = ProjectFacetsManager.getProjectFacet("sun.facet");
IProjectFacetVersion defaultJstFacet = jstFacet.getDefaultVersion();
IProjectFacetVersion defaultSunFacet = sunFacet.getDefaultVersion();
workingCopy.addProjectFacet(defaultJstFacet);
workingCopy.addProjectFacet(defaultSunFacet);
workingCopy.commitChanges(null);
我做错了吗?
【问题讨论】:
标签: eclipse runtime rcp eclipse-wtp pde