Compilación de Maven: error al ejecutar javac

Aquí hay una excepción que obtenemos cuando intentamos compilar un código recién extraído en Windows Server 2003 con Maven 2.2.1 y JDK 1.6.0_23. Varias máquinas que ejecutan Ubuntu con la misma versión de Maven y JDK no tienen problemas para compilar exactamente la misma fuente.

He intentado proporcionar opciones alternativas de Maven (es decir, MAVEN_OPTS = -Xms256m -Xmx1024m) en vano.

¿Cuál podría ser la causa de este problema y cuál sería una posible solución? Gracias

[INFO] Compilation failure

Failure executing javac, but could not parse the error:


The system is out of resources.
Consult the following stack trace for details.
java.lang.StackOverflowError
    at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1799)
    at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1522)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
    at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:377)
    at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1241)
    at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1210)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
   ... then trace repeats multiple times
Respuesta 1

¿Alguno de sus códigos se genera automáticamente, por ejemplo, desde un WSDL? ¿Puedes determinar qué clase (s) está causando el problema? Una forma de hacerlo sería eliminar parte de su fuente, volver a compilar y repetir hasta que se haya reducido a un pequeño subconjunto de clases.

¿Tienes clases grandes o métodos largos? Si es así, debe refactorizar.

Aumenta el tamaño de la pila. Creo que el valor predeterminado es 512k. Cambie la configuración del compilador a:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.2</version>
  <configuration>
    <compilerArgument>-J -Xss10M</compilerArgument>
  </configuration>
</plugin>
Respuesta: 2

¿Cuál podría ser la causa de este problema y cuál sería una posible solución? Gracias

Aquí hay algunas causas posibles:

  • La pila es en realidad demasiado pequeña. Solución: establezca un tamaño de pila más grande.
  • Estás compilando una clase o método patológico. Solución: intente e identifique el archivo, identifique la patología y refactorícela.
  • Te has encontrado con un error del compilador de Java. Solución: intente e identifique el archivo, identifique qué está provocando el error y refactorícelo para solucionar el error.
  • De alguna manera ha logrado obtener un archivo JAR corrupto en el repositorio local de Maven en la máquina Windows. Solución: limpie el repositorio y reconstruya. (Esto puede implicar volver a descargar un montón de artefactos y complementos).
Respuesta: 3

El comentario a continuación es una respuesta funcional

set MAVEN_OPTS=-Xms256m -Xmx1024m -Xss1024k -XX:MaxPermSize=384m"
Respuesta: 4

Can you recommend an open source Java library (preferably ASL/BSD/LGPL license) that converts HTML to plain text - cleans all the tags, converts entities (&,  , etc.) and handles <br> ...

It seems that having a string that contains the characters { or } is rejected during regex processing. I can understand that these are reserved characters and I need to escape them so if I do: string....

There are 3 different ways to get data out of a Blob column: getBytes getBinaryStream getBlob Also, the Blob object returned by getBlob also has a getBytes and getBinaryStream on it. Are there any ...

I was studying about bluetooth and I was trying to write the code to keep listening to the input stream while connected and i came across this following code snippet: int data = mmInStream.read(); ...