Buggy code:
public class WeblogicDeploymentTool extends GenericDeploymentTool { public static final String PUBLICID_EJB11 = "-////Sun<seq2seq4repair_space>Microsystems,<seq2seq4repair_space>Inc.////DTD<seq2seq4repair_space>Enterprise<seq2seq4repair_space>JavaBeans<seq2seq4repair_space>1.1////EN" ; public static final String PUBLICID_EJB20 = "-////Sun<seq2seq4repair_space>Microsystems,<seq2seq4repair_space>Inc.////DTD<seq2seq4repair_space>Enterprise<seq2seq4repair_space>JavaBeans<seq2seq4repair_space>2.0////EN" ; public static final String PUBLICID_WEBLOGIC_EJB510 = "-////BEA<seq2seq4repair_space>Systems,<seq2seq4repair_space>Inc.////DTD<seq2seq4repair_space>WebLogic<seq2seq4repair_space>5.1.0<seq2seq4repair_space>EJB////EN" ; public static final String PUBLICID_WEBLOGIC_EJB600 = "-////BEA<seq2seq4repair_space>Systems,<seq2seq4repair_space>Inc.////DTD<seq2seq4repair_space>WebLogic<seq2seq4repair_space>6.0.0<seq2seq4repair_space>EJB////EN" ; protected static final String DEFAULT_WL51_EJB11_DTD_LOCATION = "//weblogic//ejb//deployment//xml//ejb-jar.dtd" ; protected static final String DEFAULT_WL60_EJB11_DTD_LOCATION = "//weblogic//ejb20//dd//xml//ejb11-jar.dtd" ; protected static final String DEFAULT_WL60_EJB20_DTD_LOCATION = "//weblogic//ejb20//dd//xml//ejb20-jar.dtd" ; protected static final String DEFAULT_WL51_DTD_LOCATION = "//weblogic//ejb//deployment//xml//weblogic-ejb-jar.dtd" ; protected static final String DEFAULT_WL60_51_DTD_LOCATION = "//weblogic//ejb20//dd//xml//weblogic510-ejb-jar.dtd" ; protected static final String DEFAULT_WL60_DTD_LOCATION = "//weblogic//ejb20//dd//xml//weblogic600-ejb-jar.dtd" ; protected static final String DEFAULT_COMPILER = "default" ; protected static final String WL_DD = "weblogic-ejb-jar.xml" ; protected static final String WL_CMP_DD = "weblogic-cmp-rdbms-jar.xml" ; protected static final String COMPILER_EJB11 = "weblogic.ejbc" ; protected static final String COMPILER_EJB20 = "weblogic.ejbc20" ; private String jarSuffix = ".jar" ; private boolean keepgenerated = false ; private String ejbcClass = null ; private String additionalArgs = "" ; private boolean keepGeneric = false ; private String compiler = null ; private boolean alwaysRebuild = true ; private boolean noEJBC = false ; private boolean newCMP = false ; private Path wlClasspath = null ; private Integer jvmDebugLevel = null ; private String ejb11DTD ; private String weblogicDTD ; public void setArgs ( String args ) { } public void setCompiler ( String compiler ) { } public void setEJBdtd ( String inString ) { } public void setEjbcClass ( String ejbcClass ) { } public void setJvmDebugLevel ( Integer jvmDebugLevel ) { } public void setKeepgenerated ( String inValue ) { } public void setKeepgeneric ( boolean inValue ) { } public void setNewCMP ( boolean newCMP ) { } public void setNoEJBC ( boolean noEJBC ) { } public void setOldCMP ( boolean oldCMP ) { } public void setRebuild ( boolean rebuild ) { } public void setSuffix ( String inString ) { } public void setWLClasspath ( Path wlClasspath ) { } public void setWLdtd ( String inString ) { } public void setWeblogicdtd ( String inString ) { } public String getEjbcClass ( ) { } public Integer getJvmDebugLevel ( ) { } public Path createWLClasspath ( ) { } public void validateConfigured ( ) throws TaskException { } protected ClassLoader getClassLoaderFromJar ( File classjar ) throws IOException , TaskException { } protected DescriptorHandler getWeblogicDescriptorHandler ( final File srcDir ) { } protected boolean isRebuildRequired ( File genericJarFile , File weblogicJarFile ) throws TaskException { } protected void addVendorFiles ( Hashtable ejbFiles , String ddPrefix ) { } protected void registerKnownDTDs ( DescriptorHandler handler ) { } protected void writeJar ( String baseName , File jarFile , Hashtable files , String publicId ) throws TaskException { } File getVendorOutputJarFile ( String baseName ) { } private void buildWeblogicJar ( File sourceJar , File destJar , String publicId ) throws TaskException { org . apache . tools . ant . taskdefs . Java javaTask = null ; if ( noEJBC ) { try { FileUtil . copyFile ( sourceJar , destJar ) ; if ( ! ( keepgenerated ) ) { sourceJar . delete ( ) ; } return ; } catch ( IOException e ) { throw new TaskException ( "Unable<seq2seq4repair_space>to<seq2seq4repair_space>write<seq2seq4repair_space>EJB<seq2seq4repair_space>jar" , e ) ; } } String ejbcClassName = ejbcClass ; try { javaTask = ( ( Java ) ( getTask ( ) . getProject ( ) . createTask ( "java" ) ) ) ; if ( ( getJvmDebugLevel ( ) ) != null ) { javaTask . createJvmarg ( ) . setLine ( ( "<seq2seq4repair_space>-Dweblogic.StdoutSeverityLevel=" + ( jvmDebugLevel ) ) ) ; } if ( ejbcClassName == null ) { if ( WeblogicDeploymentTool . PUBLICID_EJB11 . equals ( publicId ) ) { ejbcClassName = WeblogicDeploymentTool . COMPILER_EJB11 ; } else if ( WeblogicDeploymentTool . PUBLICID_EJB20 . equals ( publicId ) ) { ejbcClassName = WeblogicDeploymentTool . COMPILER_EJB20 ; } else { getLogger ( ) . warn ( ( ( "Unrecognized<seq2seq4repair_space>publicId<seq2seq4repair_space>" + publicId ) + "<seq2seq4repair_space>-<seq2seq4repair_space>using<seq2seq4repair_space>EJB<seq2seq4repair_space>1.1<seq2seq4repair_space>compiler" ) ) ; ejbcClassName = WeblogicDeploymentTool . COMPILER_EJB11 ; } } javaTask . setClassname ( ejbcClassName ) ; javaTask . createArg ( ) . setLine ( additionalArgs ) ; if ( keepgenerated ) { javaTask . createArg ( ) . setValue ( "-keepgenerated" ) ; } if ( ( compiler ) == null ) { <START_BUG> String buildCompiler = getTask ( ) . getProject ( ) . getProperty ( "build.compiler" ) ; <END_BUG> if ( ( buildCompiler != null ) && ( buildCompiler . equals ( "jikes" ) ) ) { javaTask . createArg ( ) . setValue ( "-compiler" ) ; javaTask . createArg ( ) . setValue ( "jikes" ) ; } } else { if ( ! ( compiler . equals ( WeblogicDeploymentTool . DEFAULT_COMPILER ) ) ) { javaTask . createArg ( ) . setValue ( "-compiler" ) ; javaTask . createArg ( ) . setLine ( compiler ) ; } } javaTask . createArg ( ) . setValue ( sourceJar . getPath ( ) ) ; javaTask . createArg ( ) . setValue ( destJar . getPath ( ) ) ; Path classpath = wlClasspath ; if ( classpath == null ) { classpath = getCombinedClasspath ( ) ; } javaTask . setFork ( true ) ; if ( classpath != null ) { javaTask . setClasspath ( classpath ) ; } getLogger ( ) . debug ( ( ( ( "Calling<seq2seq4repair_space>" + ejbcClassName ) + "<seq2seq4repair_space>for<seq2seq4repair_space>" ) + ( sourceJar . toString ( ) ) ) ) ; if ( ( javaTask . executeJava ( ) ) != 0 ) { throw new TaskException ( "Ejbc<seq2seq4repair_space>reported<seq2seq4repair_space>an<seq2seq4repair_space>error" ) ; } } catch ( Exception e ) { String msg = ( ( "Exception<seq2seq4repair_space>while<seq2seq4repair_space>calling<seq2seq4repair_space>" + ejbcClassName ) + ".<seq2seq4repair_space>Details:<seq2seq4repair_space>" ) + ( e . toString ( ) ) ; throw new TaskException ( msg , e ) ; } } }

Fix:
String buildCompiler = getTask ( ) . getProperty ( "build.compiler" ) . toString ( ) ;