2012-09-16 20 views
37

In NetBeans 7.2, ho difficoltà a trovare come compilare usando -Xlint: deselezionato in un progetto Maven. Sotto un progetto Ant, puoi cambiare i flag del compilatore andando su Proprietà progetto -> Compilazione, ma i progetti Maven non sembrano avere questa opzione.Come compilare usando -Xlint: deselezionato in un progetto Maven?

C'è un modo per configurare l'IDE da compilare con tali flag utilizzando Maven?

+0

Se è necessario passare più argomenti, è possibile ricevere un errore con '< compilerArgument> '. Vedere questa risposta per alternative ' ... ': https://stackoverflow.com/a/23743186/257299 – kevinarpe

risposta

57

Immagino che tu possa impostare gli argomenti del compilatore nel tuo pom.xml. Si prega di fare riferimento questo http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html

<compilerArgument>-Xlint:unchecked</compilerArgument> 
+0

Ho creato un piccolo programma di test che dovrebbe generare un avvertimento sull'uso di metodi statici, ma non riesco a convincere Maven a generare alcun avviso a riguardo. Sintesi con il programma di esempio e il file pom postato qui -> https://gist.github.com/influenza/5145598 –

+0

@RonDahlgren: perché ti aspetti di lanciare un avviso? – haylem

+0

@haylem - L'accesso a un campo o metodo statico dovrebbe generare un avviso con quello abilitato. Questo è un dettaglio del javac usato, ma è comune: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler % 2Fref-preferences-errors-warnings.htm e http://pic.dhe.ibm.com/infocenter/dstudio/v3r1/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences% 2Fjava% 2Fcompiler% 2Fref-preferences-errors-warnings.htm –

21

voglio approfondire @ risposta di Nishant. Il tag compilerArgument deve entrare nel tag plugin/configuration. Ecco un esempio completo:

<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
     <testSource>1.8</testSource> 
     <testTarget>1.8</testTarget> 
     <compilerArgument>-Xlint:unchecked</compilerArgument> 
    </configuration> 
    </plugin> 
</plugins> 
0

Le informazioni sul file pom sono accurate. Ho avuto l'ulteriore sfida di costruire il progetto Maven di qualcun altro in Jenkins e di non avere accesso al repository dei file pom.

ho creato una fase di pre-build per inserire il parametro del compilatore nel file pom dopo averlo scaricato da Git, per esempio

sed -i 's|/target> *$|/target>\n<compilerArgument>\n-Xlint:deprecation\n</compilerArgument>|' $WORKSPACE/pom.xml 
Problemi correlati