有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    我使用了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);
    
  2. # 2 楼答案

    经过一番激烈的战斗后,我通过以下方法获得了战争文件:

    @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);
        }
    }