2014-09-17 11 views
8

Ho un progetto che genera codice utilizzando Axis. Questo codice è pieno di avvertenze (la maggior parte di esse, mancanza di generici), quindi, di solito, semplicemente configuro la cartella sorgente per ignorare gli avvertimenti.Configurare m2e per ignorare gli avvisi nella cartella delle origini generate

C'è un modo per farlo usando m2e o un altro plugin di Maven?

Il vantaggio di questo si presenterebbe quando più persone iniziano a utilizzare il progetto.

+0

È possibile fare clic con il pulsante destro del mouse sulla cartella con il codice generato, accedere a _Java Compiler_ e controllare _Ignore problemi di compilazione facoltativi_. Sfortunatamente, quando si esegue _Maven_ -> _Update project_, questa proprietà verrà reimpostata su default (mi piacerebbe trovare una soluzione anche per questo problema, ma se non si aggiorna spesso quel progetto, l'impostazione potrebbe essere d'aiuto). –

+0

Sì ... l'ho capito. Voglio anche condividere questo con altri sviluppatori che lavorano in quel progetto ... quindi, il clic destro non funzionerà in questo caso particolare. – caarlos0

+0

Parlando di Java (non conosco Axis) questo non sarebbe possibile a meno che tu non riesca in qualche modo ad avere un '@ suppressWarnings' generato all'interno di ogni classe - il meglio che Maven può fare riguardo agli avvertimenti è mostrarli su build ... ad es. avere questo nella tua voce di compilatore-plugin ' true' che non è quello che stai cercando. – JBA

risposta

1

Non utilizzo AXIS ma ho riscontrato un problema simile quando si utilizza JAXB per la generazione del codice. La mia soluzione era di annotare ogni classe con @SuppressWarnings.

Per JAXB ho usato il plugin annox. È possibile creare un file di collegamento che contiene il seguente:

<jaxb:bindings schemaLocation="YourSchema.xsd" 
    xmlns:annox="http://annox.dev.java.net" jaxb:extensionBindingPrefixes="annox"> 
    <jaxb:bindings multiple="true" node="/xs:schema/xs:complexType"> 
     <annox:annotate> 
      <annox:annotateClass annox:class="java.lang.SuppressWarnings"> 
       <annox:annotate annox:field="value">all</annox:annotate> 
      </annox:annotateClass> 
     </annox:annotate> 
    </jaxb:bindings> 

quindi non c'è bisogno di toccare lo schema.