code: private void buildEAR(File outputFile) throws MojoExecutionException, IOException {
          checkBuildEAR();
          // assert (outputFile != null);
  
          ArrayList<String> arguments = new ArrayList<String>();
          arguments.add("-ear"); // path of the Enterprise Archive "builder" relative to the BW project path
          arguments.add(archiveFile);
          arguments.add("-p"); // BW project path
          arguments.add(buildSrcDirectory.getAbsolutePath());
          arguments.add("-o"); // output file
          arguments.add(outputFile.getAbsolutePath());
          arguments.add("-x"); // overwrite the output
          if (tibcoBuildEARValidation) {
              arguments.add("-v"); // validate the project
          }
          File aliasesFile = new File(directory, ALIASES_FILE);
          if (aliasesFile.exists()) {
              arguments.add("-a");
              arguments.add(aliasesFile.getAbsolutePath());
          }
          getLog().info(BUILDING_EAR);
  
          ArrayList<File> tras = new ArrayList<File>();
          tras.add(tibcoBuildEARTRAPath);
          if (tibcoBuildEARUseDesignerTRA) {
              tras.add(tibcoDesignerTRAPath);
          }
          launchTIBCOBinary(tibcoBuildEARPath, tras, arguments, directory, BUILD_EAR_FAILED);
      }
docs: This calls the "buildear" binary found in TIBCO TRA to build an EAR for
  the {@link AbstractBWMojo#project}, defined by the {@link CompileEARMojo#archiveFile}.
  
  @param outputFile
  , the path where the EAR output will be created
  @throws MojoExecutionException
  @throws IOException