2010-07-28 8 views
3

J'ai un projet où je suis responsable de corriger certaines erreurs et un autre développeur est responsable d'autres erreurs. Le nombre d'erreurs est bien supérieur à cent, et comme je corrige mes erreurs, ses erreurs s'accumulent. Je suis au point où je vois 99 de ses erreurs et l'un des miens, et je suppose que je vais bientôt arriver à un point où il est à 100 de ses erreurs. Je regardais en utilisant cette configuration pour maven:Est-il possible d'obtenir maven pour accepter maxerrs pour son plugin de compilateur?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
    <compilerArgument>-Xmaxerrs 1000</compilerArgument> 
    </configuration> 
</plugin> 

Mais pas de dés:

Failure executing javac, but could not parse the error: 
javac: invalid flag: -Xmaxerrs 1000 
Usage: javac <options> <source files> 
use -help for a list of possible options 

Sur la ligne de commande en utilisant javac, les maxerrs de travaux de drapeau comme prévu, mais je ne peux pas sembler faire le sauter à maven avec elle.

Des idées?

Répondre

4

Utilisation de la "Map syntax" a fonctionné pour moi:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.1</version> 
    <configuration> 
     <fork>true</fork> 
     <compilerArguments> 
     <Xmaxerrs>1000</Xmaxerrs> 
     </compilerArguments> 
    </configuration> 
    </plugin> 

L'option est passé comme prévu:

 
$ mvn clean compile -X 
... 
[DEBUG] Using compiler 'javac'. 
[DEBUG] Source directories: [/home/pascal/Projects/stackoverflow/Q3358242/src/main/java] 
[DEBUG] Classpath: [/home/pascal/Projects/stackoverflow/Q3358242/target/classes] 
[DEBUG] Output directory: /home/pascal/Projects/stackoverflow/Q3358242/target/classes 
[DEBUG] Classpath: 
[DEBUG] /home/pascal/Projects/stackoverflow/Q3358242/target/classes 
[DEBUG] Source roots: 
[DEBUG] /home/pascal/Projects/stackoverflow/Q3358242/src/main/java 
[DEBUG] Command line options: 
[DEBUG] -d /home/pascal/Projects/stackoverflow/Q3358242/target/classes -classpath /home/pascal/Projects/stackoverflow/Q3358242/target/classes: -sourcepath /home/pascal/Projects/stackoverflow/Q3358242/src/main/java: /home/pascal/Projects/stackoverflow/Q3358242/src/main/java/com/stackoverflow/q3358242/App.java -g -nowarn -target 1.5 -source 1.5 -encoding UTF-8 -Xmaxerrs 1000 
[INFO] Compiling 1 source file to /home/pascal/Projects/stackoverflow/Q3358242/target/classes 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
... 

La partie étrange est que je reçois la sortie même de débogage exact (avec le exact même Options de ligne de commande) lors de l'utilisation de la configuration alternative que vous avez fournie ... sauf qu'elle échoue en raison à un échec exécutant javac. Vous devriez soulever un Jira issue, il y a certainement quelque chose de bizarre.

+0

@Pascal - est la * "configuration alternative" * vous vous référez à celle de ma réponse? –

+0

@Stephen Non, je fais référence à la configuration affichée par l'OP, qui est correcte IMO (je veux dire conforme à la documentation). –

+0

@Stephen Juste testé votre suggestion (celui de votre réponse), seulement le dernier 'compilerArgument' est passé (1000 ici). Je suppose que vous n'êtes pas censé passer plusieurs 'compilerArgument'. –