maven插件地址:http://maven.apache.org/plugins/index.html
maven命令比較:https://blog.csdn.net/zhaojianting/article/details/80324533
Maven 本質上是一個插件框架,它的核心並不執行任何具體的構建任務, 所有 這些任務都交給插件來完成,例如編譯源代碼是由 maven- compiler-plugin 完成的。進 一步說,每個任務對應了一個插件目標(goal),每個插件會有一個或者多個目標,例如 mavencompiler-plugin 的 compile 目標用來編譯位於 src/main/java/目錄下的主源碼,testCompile 目 標用來編譯位於 src/test/java/目錄下的測試源碼。
一 編譯器插件
1.1pom.xml 配置片段
<build> <plugins> <!-- java 編譯插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
1.2settings.xml 文件中配置全局編譯器插件
<profile> <!-- 定義的編譯器插件 ID,全局唯一 --> <id>jdk-1.7</id> <!-- 插件標記,activeByDefault 默認編譯器,jdk 提供編譯器版本 --> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <!-- 配置信息 source-源信息,target-字節碼信息,compilerVersion-編譯過程版 本 --> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile>
二 tomcat插件
1.使用 Tomcat 插件發布部署並執行 war 工程的時候,使用 maven build 功能實現。應用啟 動命令為: tomcat7:run。命令中的 tomcat7 是插件命名,由插件提供商決定。run 為插件中 的具體功能。具體 pom.xml 文件的配置如下:
<build> <plugins> <!-- 配置 Tomcat 插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/</path> </configuration> </plugin> </plugins> </build>
2.遠程熱部署
遠程熱部署是指,在 Tomcat 容器運行過程中,動態實現 war 工程的部署,重新部署功 能。使用 maven build 功能實現,具體命令為: tomcat7:deploy 或 tomcat7:redeploy。其中 deploy 代表第一次部署 war 工程;redeploy 代表 Tomcat 容器中已有同名應用,本次操作為 重新部署同名 war 工程。 實現熱部署需要遠程訪問 Tomcat 容器,所以 Tomcat 容器需要提供合適的訪問方式和驗 證方式。 實現熱部署,需要訪問 Tomcat 容器提供的原始應用 manager,並提供有效有權限的訪 問用戶,所以在 Tomcat 中也需提供部分配置。具體配置內容如下:
2.1Tomcat 中的 conf/tomcat-users.xml 文件的配置
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcatUsername" password="tomcatPassword" roles="manager-gui,manager-script"/>
2.2 pom.xml 文件中的配置
<build> <plugins> <!-- 配置 Tomcat 插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- path: 上傳的 war 包解壓后的路徑命名 --> <path>/ROOT</path> <!-- url : 上傳 war 包到什么位置,除 IP 和端口可以修改外其他不變 --> <url>http://ip:port/manager/text</url> <!-- 為 tomcat 配置的管理用戶名和密碼. --> <username>tomcatUsername</username> <password>tomcatPassword</password> </configuration> </plugin> </plugins> </build>
三 maven常見命令
1 clean 清除已編譯信息。 刪除工程中的 target 目錄。
2 compile 只編譯。 javac 命令
3 package 打包。 包含編譯,打包兩個功能。
4 install 本地安裝, 包含編譯,打包,安裝到本地倉庫 編譯 - javac 打包 - jar, 將 java 代碼打包為 jar 文件 安裝到本地倉庫 - 將打包的 jar 文件,保存到本地倉庫目錄中。
5 deploy 部署。 常見於結合私服使用的命令。 相當於是 install+上傳 jar 到私服。 包含編譯,打包,安裝到本地倉庫,上傳到私服倉庫。