mvn clean install -Dmaven.test.skip=true -Dcheckstyle.skip=truejava
mvn help:describe -Dplugin=插件名稱 -Ddetail 例如:「mvn help:describe -Dplugin=jar -Ddetail」 展現的就是maven-jar-plugin插件的使用詳情apache
mvn dependency:tree安全
mvn help:effective-pommaven
mvn package -X 大寫的X用於調試測試
java編譯插件:spa
參數詳解:插件
configuration-->source 指定要被編譯的java源文件的版本調試
configuration-->target 指定將要編譯出來的java的class文件的版本code
configuration-->skip 當這個值爲true時,不編譯測試代碼blog
configuration-->compilerArgs-->compilerArg -verbose 輸出編譯器正在執行的操做的信息
-Xlint:unchecked 啓用未經檢查或不安全操做的警告@SuppressWarning
-Xlink:deprecation 啓用使用已過期的類或方法的警告@SuppressWarning
-bootclasspath ${env.JAVA_HOME}/jre/lib/rt.jar指定編譯源文件時所用的引導類
-extdirs ${env.JAVA_HOME}/jre/lib/ext 指定編譯源文件時所用的擴展類
固然爲何要指定-bootclasspath和-extdirs呢,最主要緣由就是交叉編譯:
javac自己就是java應用程序,因此須要引導類和擴展類
目標程序也是java應用程序,因此也須要引導類和擴展類
默認狀況下目標程序須要的引導類和擴展類就是javac的引導類和擴展類,可是若是目標程序須要的引導類和擴展類和javac的不同時,
目標程序的引導類的擴展類就須要用bootclasspath和extdirs指定
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <compilerArgs> <arg>-verbose</arg> <arg>-Xlint:unchecked</arg> <arg>-Xlint:deprecation</arg> <arg>-bootclasspath</arg> <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg> </compilerArgs> </configuration> </plugin>