i로 설정하면 Eclipse WTP의 API를 사용하여 새로운 "EAR Application Project"를 만드는 Eclipse Plugin을 작성합니다. 이 새로운 프로젝트의 "런타임"값을 설정하는 데 어려움을 겪고 있습니다.런타임을 IFacetedProject
(에 '정상'사용자로) 나는 이클립스 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>
을 하지만 내 EAP 프로젝트에 다음 값을 설정하는 방법을 찾을 수없는면 처리 (WTP 플러그인에서 제공하는 API를 사용하여) 프로젝트 I를 만들 때 :
<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);
내가 뭔가 잘못하고 오전?
좋아요! 그것은 작동합니다. 하지만 Junit Plugin Test로 실행하면 동일한 런타임이로드되지 않습니다. JUnit은 필요한 번들을로드하지 않는다고 생각합니다. JUnit Plugin Test를 실행할 때 런타임 (내 경우 Glassfish 3.1.2)을 인식하는 데 필요한 것이 무엇인지 알고 계십니까? Komissarchik 고맙습니다. –