2013-09-06 8 views
13

Czy istnieje sposób przekazywania argumentów kompilacji za pomocą wiersza poleceń do Mavena? Wiem, że mogę określić, że w compiler-plugin, ale chciałbym uruchomić Xlint również z wiersza poleceń. Próbowałem więc coś takiego, ale bez powodzenia.Jak skompilować projekt Mavena z Xlintem

Odpowiedz

18

Można zdefiniować wtyczkę kompilatora tak:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <compilerArgument>${compilerArgument}</compilerArgument> 
    </configuration> 
</plugin> 

Następnie przekazać parametr z wiersza poleceń:

mvn -DcompilerArgument=-Xlint:deprecation compile 

Jeśli nie przechodzą -DcompilerArgument, nie złamie kompilacji ponieważ "compilerArgument" w argumencie kompilatora wtyczki będzie puste i zignorowane.

+0

Nieźle, ale miałem nadzieję, że będzie jakiś domyślny parametr, więc mogę pozostawić mój 'pom.xml' nietknięty. Ale ładne obejście, dzięki –

+0

Niestety, żaden z parametrów ["compile: compile"] (http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#Parameter_Details) dla dodatkowych argumentów domyślna właściwość użytkownika. – Joe

22

W tym konkretnym przypadku (ostrzeżeń amortyzacyjne), tam faktycznie jestproperty which can be used from the command line:

mvn clean install -Dmaven.compiler.showDeprecation=true 

W przeciwieństwie do rozwiązania compilerArgument, to działa także w przypadku korzystania z kompilatora wewnątrz procesu maven, nie tylko wtedy, gdy za pomocą fork = true.

Podobną użyteczną własnością jest maven.compiler.showWarnings.

+0

Dziękuję, to wygląda naprawdę ładnie –

Powiązane problemy