參考博客 :https://www.cnblogs.com/wkrbky/p/6352188.html
maven用來管理項目,包括項目的創建、編譯、打包、運行等。
他提供了一些命令來完成這些功能,配置環境變量后,可以到處運行這些命令,命令會根據當前目錄下的pom文件描述,和setting文件描述,調用其他工具實現功能。
常用命令:
mvn compile 編譯源代碼,創建target目錄,生成class文件。 我理解實際是調用jdk的編譯程序,只是maven同時管理者項目的信息,告訴編譯程序,源文件在哪里,編譯后放在哪里。
mvn package 先編譯源代碼,再將項目打包成jar、war包。 執行后target目錄中會多一個jar文件和其他相關文件。
C:\java\jdk\jdk1.8.0_171\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\MyWork\MyCode\scap\scap-modules\scap-operation -Dmaven.home=D:\MyProgram\apache-maven-3.3.9 -Dclassworlds.conf=D:\MyProgram\apache-maven-3.3.9\bin\m2.conf "-javaagent:D:\MyProgram\idea\IntelliJ IDEA 2018.3\lib\idea_rt.jar=52473:D:\MyProgram\idea\IntelliJ IDEA 2018.3\bin" -Dfile.encoding=UTF-8 -classpath D:\MyProgram\apache-maven-3.3.9\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2018.3 -s D:\MyProgram\apache-maven-3.3.9\conf\settings.xml package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building scap-operation 1.0 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ scap-operation --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] Copying 7 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ scap-operation --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 31 source files to D:\MyWork\MyCode\scap\scap-modules\scap-operation\target\classes [WARNING] /D:/MyWork/MyCode/scap/scap-modules/scap-operation/src/main/java/com/cnhqd/scap/operation/service/impl/EsServiceImpl.java: D:\MyWork\MyCode\scap\scap-modules\scap-operation\src\main\java\com\cnhqd\scap\operation\service\impl\EsServiceImpl.java使用了未經檢查或不安全的操作。 [WARNING] /D:/MyWork/MyCode/scap/scap-modules/scap-operation/src/main/java/com/cnhqd/scap/operation/service/impl/EsServiceImpl.java: 有關詳細信息, 請使用 -Xlint:unchecked 重新編譯。 [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ scap-operation --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\MyWork\MyCode\scap\scap-modules\scap-operation\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ scap-operation --- [INFO] No sources to compile [INFO] [INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ scap-operation --- [INFO] Tests are skipped. [INFO] [INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ scap-operation --- [INFO] Building jar: D:\MyWork\MyCode\scap\scap-modules\scap-operation\target\scap-operation-1.0.jar [INFO] [INFO] --- spring-boot-maven-plugin:1.5.13.RELEASE:repackage (default) @ scap-operation --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 27.583 s [INFO] Finished at: 2019-07-03T10:46:49+08:00 [INFO] Final Memory: 66M/459M [INFO] ------------------------------------------------------------------------ Process finished with exit code 0
mvn install 先執行package操作,再將包放到本地倉庫中去。 因為maven知道本地倉庫的地址是什么。
mvn clean 清除產生的項目,將某個項目的target目錄刪除,即刪除class文件,只剩下源碼文件夾。
其他命令:
mvn validate 驗證工程是否正確,所有需要的資源是否可用
C:\java\jdk\jdk1.8.0_171\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\MyWork\MyCode\scap\scap-modules\scap-operation -Dmaven.home=D:\MyProgram\apache-maven-3.3.9 -Dclassworlds.conf=D:\MyProgram\apache-maven-3.3.9\bin\m2.conf "-javaagent:D:\MyProgram\idea\IntelliJ IDEA 2018.3\lib\idea_rt.jar=56763:D:\MyProgram\idea\IntelliJ IDEA 2018.3\bin" -Dfile.encoding=UTF-8 -classpath D:\MyProgram\apache-maven-3.3.9\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2018.3 -s D:\MyProgram\apache-maven-3.3.9\conf\settings.xml validate
mvn test 運行測試,應該是執行測試方法,沒驗證。
mvn deploy 上傳到私服