2011-12-29 24 views
11

Cuando traté de compilar el archivo build.xml, por debajo de error está golpeando:Error de compilación; ver la salida de error del compilador para obtener detalles

compilación falló

C:\Users\workspace\testrepo\src\build.xml:36: Compile failed; see the compiler error output for details. 
    at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1150) 
    at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:424) 
    at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:138) 

Alguien me puede ayudar?

+1

¡lea atentamente! – mishadoff

+1

Parece que el mensaje de error real podría ser más alto de lo que podemos ver, todo esto nos dice que build.xml falló en algún lugar alrededor de la línea 36, ​​que supongo que es donde intenta compilar el código fuente de Java. Debe haber algo mal con su código Java, ¿usa un IDE? – Ewald

+0

En mis registros, tengo [javac] C: \ Users \ workspace \ testrepo \ src \ testrepo \ testrepoclass.java: 3: error: package org.junit no existe [javac] import org.junit.Después de – user1121120

Respuesta

5

Hay un error de compilación que ocurrió anteriormente durante la compilación. Busque ese error en el mismo archivo de registro de salida e intente solucionarlo.

+0

Gracias usted por la respuesta. Recibí una advertencia de advertencia: 'includeantruntime' no se configuró, de forma predeterminada en build.sysclasspath = last; establecer en falso para compilaciones repetibles. ¿Es por esa advertencia? – user1121120

+0

No, ese no debería ser el problema. – AbdullahC

+0

En mis registros, tengo [javac] C: \ Users \ workspace \ testrepo \ src \ testrepo \ testrepoclass.java: 3: error: package org.junit no existe [javac] import org.junit.After; – user1121120

0

Si está utilizando Weblogic para generar el cliente, debe agregar el "weblogic.jar" del directorio de instalación en la ruta de clase adicional, para que Ant sepa dónde están las herramientas Ant.tools ....

Tengo el mismo problema y estoy tratando de resolver este problema sin agregarlo como classpath adicional ya que copio todos los archivos jar en mi proyecto, pero sigo teniendo este error.

1

la siguiente solución funcionó bien para mí:

1) Definir la clase siguiente:

package somepackage; 

import org.apache.tools.ant.taskdefs.Javac; 
import org.apache.tools.ant.types.Commandline; 
import org.eclipse.jdt.core.JDTCompilerAdapter; 

public class JDTCompiler15 extends JDTCompilerAdapter { 
    @Override 
    public void setJavac(Javac attributes) { 
     if (attributes.getTarget() == null) { 
       attributes.setTarget("1.6"); 
     } 
     if (attributes.getSource() == null) { 
       attributes.setSource("1.6"); 
     } 

     super.setJavac(attributes); 
    } 
     // THIS METHOD IS RESPONSIBLE FOR PRINGTING THE ERRORS/WARNING. 
    @Override 
    protected void logAndAddFilesToCompile(Commandline cmd) { 
     super.logAndAddFilesToCompile(cmd); 
     System.err.println(cmd.toString()); 
    } 

} 

2) Añadir el siguiente parámetro VM: -Dbuild.compiler = somepackage.JDTCompiler15

+0

Gracias que me ahorró tiempo: D Considere extender este código por: 'boolean isDebug = java.lang.management.ManagementFactory.getRuntimeMXBean(). getInputArgume nts(). toString() .indexOf ("- agentlib: jdwp")> 0; if (isDebug) { logger.debug (cmd.toString()); } ' –

2

Para ver el error compilado en el registro, use debajo el comando dado:

d:\yourdirectory of checkout>ant clean deploy>log.txt 

Creará un registro completo en su directorio de salida. Entonces ahora puedes verificar los errores reales allí.

Cuestiones relacionadas