2015-10-11 1 views
2

Je développe sur eclipse; mon code compile actuellement et fonctionne directement depuis eclipse (en exécutant Run As Java Application) - je n'ai rencontré aucune erreur dans ce processus.JavaFX 8 ant code d'erreur de construction trop grand

J'ai alors tenté de générer le fichier Ant build.xml et essayé de le compiler, ceci se termine par un BUILD FAILED; ci-dessous est la sortie de la construction:

Buildfile: C:\App-Path\build\build.xml 
setup-staging-area: 
    [delete] Deleting directory C:\App-Path\build\externalLibs 
    [delete] Deleting directory C:\App-Path\build\project 
    [delete] Deleting directory C:\App-Path\build\projectRefs 
    [mkdir] Created dir: C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [copy] Copying 1 file to C:\App-Path\build\externalLibs 
    [mkdir] Created dir: C:\App-Path\build\project 
    [copy] Copying 59 files to C:\App-Path\build\project 
    [copy] Copied 22 empty directories to 2 empty directories under C:\App-Path\build\project 
    [mkdir] Created dir: C:\App-Path\build\projectRefs 
do-compile: 
    [delete] Deleting directory C:\App-Path\build\build 
    [mkdir] Created dir: C:\App-Path\build\build\src 
    [mkdir] Created dir: C:\App-Path\build\build\libs 
    [mkdir] Created dir: C:\App-Path\build\build\classes 
    [copy] Copying 9 files to C:\App-Path\build\build\libs 
    [copy] Copying 59 files to C:\App-Path\build\build\src 
    [copy] Copied 21 empty directories to 2 empty directories under C:\App-Path\build\build\src 
    [javac] Compiling 29 source files to C:\App-Path\build\build\classes 
    [javac] C:\App-Path\build\build\src\com\stt3\types\IcomoonUltimatePack.java:60: error: code too large 
    [javac]   HOME('\ue900'), 
    [javac]  ^
    [javac] Note: C:\App-Path\build\build\src\com\stt3\test\YQLParser.java uses unchecked or unsafe operations. 
    [javac] Note: Recompile with -Xlint:unchecked for details. 
    [javac] 1 error 

BUILD FAILED 
C:\App-Path\build\build.xml:107: Compile failed; see the compiler error output for details. 

Total time: 3 seconds 

La classe qui semble générer l'erreur est simplement une adaptation du code existant pour la classe JavaFX FontAwesome Glyphe (définition here) pour l'ensemble de glyphe IcoMoon (environ 2000 glyphes/associations de caractères).

Voici le lien vers le code de la classe incriminée: https://gist.github.com/autronix/51322d3c24f21e6755a5

Puisque le code est en cours d'exécution de la compilation et bien en éclipse directement, je me demande si j'ai oublié des paramètres du compilateur fourmi. Je n'ai pas été capable de comprendre comment résoudre ce problème.

Toute aide serait grandement appréciée.

Merci

Répondre

2

Les méthodes Java sont limitées à 64k du code octet. Une fois que vous dépassez la limite du compilateur java renvoie une erreur

error: code too large 

Tous les initialisations statiques se font en une seule méthode, donc il est possible qu'il se passe à cause de cela.

Il s'exécute correctement dans Eclipse car Eclipse possède son propre compilateur.

Si vous voulez en savoir plus à ce sujet, this est un bon fil.