如何使用 Java 以编程方式从 Eclipse .web 项目导出 WAR 文件?
由于项目结构复杂,我在 war ant 任务中遇到了很大的问题( ProjectX.web 依赖于 ProjectX.java),我对此感到非常困惑 WebComponentExportWizard实现。
有可用的 WTP API 吗? (就像这个旧版本 http://www.eclipse.org/webtools/jst/components/j2ee/api/j2ee_operationsAPI.html )
最佳答案
经过一番激烈的斗争,我设法通过这种方法获取war文件:
@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);
}
}
关于java - 从 headless Eclipse 导出 war ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172660/