0
我编写了一个使用Eclipse WTP中的API创建新的“EAR应用程序项目”的Eclipse插件。我发出一些困难来为这个新项目设置“运行时间”值。将运行时设置为IFacetedProject
这就是 “org.eclipse.wst.common.project.facet.core.xml的” 当我使用Eclipse创建GUI同一个项目的内容(作为一个 '正常' 的用户):
<?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>
但是,创建面项目(使用所提供的API由WTP插件)我不能找到一种方法来设置以下值到我的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>
下面是如何创建的IM项目:
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);
我做错什么了吗?
太棒了!有用。但是,当我将它作为Junit插件测试运行时,不会加载相同的运行时。我认为JUnit不会加载所需的捆绑包。你有什么想法在运行JUnit插件测试时识别运行时(在我的情况下,Glassfish 3.1.2)需要什么?谢谢Komissarchik先生。 –