Java와 프로그래밍 방식으로 Eclipse .web 프로젝트에서 WAR 파일을 내보내려면 어떻게해야합니까?헤드리스 Eclipse에서 전쟁 내보내기
내가 인해 복잡한 프로젝트 구조에 전쟁 개미 작업에 큰 문제를 ( ProjectX.web이 ProjectX.java에서 종속성이)가 있고 난 매우 에 의해 혼동하고있어 구현을 WebComponentExportWizard.
사용할 WTP API가 있습니까? 일부 무거운 싸움 후
Java와 프로그래밍 방식으로 Eclipse .web 프로젝트에서 WAR 파일을 내보내려면 어떻게해야합니까?헤드리스 Eclipse에서 전쟁 내보내기
내가 인해 복잡한 프로젝트 구조에 전쟁 개미 작업에 큰 문제를 ( ProjectX.web이 ProjectX.java에서 종속성이)가 있고 난 매우 에 의해 혼동하고있어 구현을 WebComponentExportWizard.
사용할 WTP API가 있습니까? 일부 무거운 싸움 후
(옛 버전 http://www.eclipse.org/webtools/jst/components/j2ee/api/j2ee_operationsAPI.html처럼) 나는 전쟁 파일 저점이 방법을 얻기 위해 관리 :
@SuppressWarnings("restriction")
public static void exportWar(IProject webProject) throws CoreException {
WebComponentExportDataModelProvider modelProvider = new WebComponentExportDataModelProvider();
IDataModel dataModel = DataModelFactory.createDataModel(modelProvider);
dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.EXPORT_SOURCE_FILES, false);
dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING, true);
dataModel.setStringProperty(IJ2EEComponentExportDataModelProperties.PROJECT_NAME, webProject.getName());
dataModel.setStringProperty(IJ2EEComponentExportDataModelProperties.ARCHIVE_DESTINATION, webProject
.getLocation().append(webProject.getName()).addFileExtension("war").toOSString());
dataModel.setProperty(
IJ2EEComponentExportDataModelProperties.COMPONENT,
ComponentCore.createComponent(webProject));
IDataModelOperation modelOperation = dataModel.getDefaultOperation();
try {
log.debug("Start the export war operation");
modelOperation.execute(null, null);
}
catch (ExecutionException e) {
log.error("Error when exporting .war project", e);
}
}
나는 아래와 같은 org.eclipse.wst.server.core.util.PublishHelper.publishZip()
을 사용, 그리고 나를 위해 작동합니다.
IPath war = workDirectory.append("app.war");
PublishHelper publishHelper = new PublishHelper(null);
J2EEFlexProjDeployable deployable =
new J2EEFlexProjDeployable(project, ComponentCore.createComponent(project));
publishHelper.publishZip(deployable.members(), war, null);
좋은, 당신은이에 대한이 다운로드 어딘가에 필요한 모든 병을 넣을 수 있습니다, 그것을 – hellojinjie
일리에 다니엘 스테판을 다할 것입니다? 귀하의 코드를 사용하여이 작업을 시도하고 있지만 Eclipse에서 필요한 라이브러리를 가져올 수 없습니다. 이클립스가 이제는 다른 항아리를 가지고있는 것처럼 보입니다. – DarioBB
이 프로젝트의 출처가 더 이상 없습니다. 이것은 매우 오래된 문제 (~ 5 년 전)이므로 현재 Eclipse 버전에서 내부적으로 변경 될 것으로 예상됩니다 –