2012-09-16 8 views
37

En NetBeans 7.2, tengo problemas para encontrar cómo compilar usando -Xlint: no seleccionado en un proyecto de Maven. En un proyecto Ant, puede cambiar los indicadores del compilador yendo a Propiedades del proyecto -> Compilar, pero los proyectos de Maven no parecen tener esa opción.Cómo compilar usando -Xlint: no seleccionado en un proyecto de Maven?

¿Hay alguna manera de configurar el IDE para compilar con tales banderas usando Maven?

+0

Si necesita pasar múltiples argumentos, puede recibir un error con '< compilerArgument> '. Vea esta respuesta para la alternativa ' ... ': https://stackoverflow.com/a/23743186/257299 – kevinarpe

Respuesta

57

Supongo que puede establecer argumentos de compilación en su pom.xml. Por favor, consulte esta http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html

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

He creado un pequeño programa de prueba que debería generar una advertencia sobre el uso de métodos estáticos, pero no puedo hacer que maven genere advertencias al respecto. Gist con el programa de ejemplo y el archivo pom publicado aquí -> https://gist.github.com/influenza/5145598 –

+0

@RonDahlgren: ¿por qué esperas que esto arroje una advertencia? – haylem

+0

@haylem - El acceso a un campo o método estático debería generar una advertencia con eso habilitado. Estos son detalles del uso de javac, pero es común: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler % 2Fref-preferences-errors-warnings.htm y 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

quiero dar más detalles sobre la respuesta de @ Nishant. La etiqueta compilerArgument debe ir dentro de la etiqueta plugin/configuration. Aquí hay un ejemplo 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

La información del archivo pom es muy buena. Tuve el desafío adicional de construir el proyecto Maven de otra persona en Jenkins y no tener acceso al repositorio de archivos pom.

creé una etapa de pre-construcción para insertar el parámetro compilador en el archivo pom después de descargarlo desde git, por ejemplo

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