Как добавить динамические веб-проекты в EAR программно на Java? - PullRequest
0 голосов
/ 26 апреля 2011

Я создал динамический веб-проект.Я хочу добавить это к проекту уха.Я хочу, чтобы этот проект EAR создавался программно, добавлял в него некоторые дополнительные аспекты и добавлял динамический веб-проект в этот EAR.

Теперь я создал веб-проект и добавил свойство ниже, чтобы добавить его в проект EAR.

iDataModel.setBooleanProperty (IWebFacetInstallDataModelProperties.ADD_TO_EAR, true);

Это создаст EAR с настройками по умолчанию.Но я не хочу этого.Я хочу создать проект EAR и добавить к нему еще несколько аспектов IBM.поэтому я создал EAR, как показано ниже.

IDataModel earModel = DataModelFactory.createDataModel (new EARFacetProjectCreationDataModelProvider ());earModel.setProperty (IFacetDataModelProperties.FACET_PROJECT_NAME, projName);earModel.getDefaultOperation (). execute (monitor, null);

с этим я могу добавить некоторые дополнительные аспекты к этому проекту EAR.Но я не знаю, как добавить веб-проект в этот EAR.

Помогите мне, если кто-нибудь сталкивался с этим сценарием.

1 Ответ

0 голосов
/ 27 апреля 2011

Я получил это сработало, наконец.Таким образом, мы можем выбрать список желаний веб- и Java-проектов, которые будут добавлены программно в один или несколько EAR-проектов.

public void createEARProject (IProject iEARProj, IProject iWebProj, монитор IProgressMonitor) выбрасывает ExecutionException, CoreException {

IProjectDescription earProjectDesription = ResourcesPlugin.getWorkspace (). )NjectEAR ().;iEARProj.create (earProjectDesription, монитор);iEARProj.open (monitor);

final IFacetedProject earFacetedProject = ProjectFacetsManager.create (iEARProj, true, monitor);IActionDefinition earInstallAction = EARFacetUtils.EAR_14.getActionDefinition (Collections.singleton (EARFacetUtils.EAR_14), IFacetedProject.Action.Type.INSTALL);IDataModel earConfig = (IDataModel) earInstallAction.createConfigObject (EARFacetUtils.EAR_14, iEARProj.getName ()); * +1008 *

earConfig.setProperty (IEarFacetInstallDataModelProperties.J2EE_PROJECTS_LIST, Arrays.asList (новый IProject [] {iWebProj}));earConfig.setProperty (IEarFacetInstallDataModelProperties.JAVA_PROJECT_LIST, Collections.EMPTY_LIST);earConfig.setBooleanProperty (IFacetDataModelProperties.SHOULD_EXECUTE, Boolean.TRUE);

IDataModel master = DataModelFactory.createDataModel (новый EARFacetProjectCreationDataModelProvider);master.setStringProperty (IFacetDataModelProperties.FACET_PROJECT_NAME, earConfig.getStringProperty (IFacetDataModelProperties.FACET_PROJECT_NAME));master.setProperty (IFacetProjectCreationDataModelProperties.FACET_DM_MAP, Collections.singletonMap (EARFacetUtils.EAR_FACET.getId (), earConfig));master.setProperty (IFacetProjectCreationDataModelProperties.FACET_ACTION_MAP, Collections.EMPTY_MAP);master.setProperty (FacetProjectCreationDataModelProvider.REQUIRED_FACETS_COLLECTION, Collections.singletonList (EARFacetUtils.EAR_FACET));

earConfig.setProperty (FacetInstallDataModelPlayer_EEFFF_EFF_FD_TF), монитор);earFacetedProject.setFixedProjectFacets (Collections.singleton (EARFacetUtils.EAR_FACET));

}

Надеюсь, это поможет, если кто-нибудь попробует так, как я пытался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...