1. 程式人生 > 其它 >maven基本操作

maven基本操作

Maven基本操作命令

1、mvn package

此命令包含一系列過程:validate-->compile-->test-->package

Maven根據pom檔案裡packaging的配置,決定是生成jar檔案還是war檔案,並放到target目錄下。

此命令需要在專案的根目錄(也就是pom.xml檔案所在的目錄)下執行,Maven才知道打包哪個專案。

2、mvn clean

每次更新專案的內容,Maven是不會自動編譯更新的,所以target目錄下的內容是快取的,每次部署前都需要把最新資料更新到target目錄下。

當執行mvn clean後,target下的內容都會被刪除,然後生成最新的資料。

如果要把專案部署到生產環境,強烈建議用mvn clean package命令,確保部署的是最新的內容。

3、mvn test

該命令執行後會去執行所有的單元測試,如果想要單獨執行某個測試類裡的單元測試,可用如下命令:mvn -Dtest=TestApp1 test

4、mvn clean install

該命令會把你的專案打包並放到本地倉庫,可以別人就可以引用了。

此命令包含以下過程:validate-->compile-->test-->package-->integration-test-->verify-->install。

假如你的專案的pom.xml檔案如下:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" 
 2   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 4   http://maven.apache.org/maven-v4_0_0.xsd">
 5   <modelVersion>4.0.0</modelVersion>
 6   <groupId>com.yanyd.core</groupId>
 7   <artifactId>yanyd-core</artifactId>
 8   <packaging>jar</packaging>
 9   <version>99</version>
10   <name>yanyd-core</name>
11   <url>http://maven.apache.org</url>
12   <dependencies>
13     <dependency>
14       <groupId>junit</groupId>
15       <artifactId>junit</artifactId>
16       <version>4.4</version>
17       <scope>test</scope>
18     </dependency>
19   </dependencies>
20 </project>

那麼Maven就會把你的專案打包成yanyd-core-99.jar並放入本地倉庫,其他開發者就可以按如下方式引用你部署的jar檔案:

1 <dependency>
2       <groupId>com.yanyd.core</groupId>
3       <artifactId>yanyd-core</artifactId>
4       <version>99</version>
5  </dependency>

5、mvn site

該命令會為你的專案生產一個文件站點,介紹你的專案,儲存位置為target/site,該命令可能只有開源專案有用吧,畢竟平常沒人會去關注你的專案資訊。

6、mvn site:deploy

該命令會把文件站點部署到伺服器。

參考此文:http://www.mkyong.com/maven/how-to-deploy-site-with-mvn-site-deploy-webdav-example/

7、mvn tomcat6/tomcat7:deploy

通過tomcat部署外掛把專案部署到伺服器。

1 Tomcat 7
2 Deploy URL = http://localhost:8080/manager/text
3 Command = mvn tomcat7:deploy
4 Tomcat 6
5 Deploy URL = http://localhost:8080/manager/
6 Command = mvn tomcat6:deploy

接下來演示如何部署到Tomcat7

7.1、配置tomcat認證

在tomcat-users.xml裡配置連個角色和一個賬號,如下:

1 <?xml version='1.0' encoding='utf-8'?>
2 <tomcat-users>
3  
4     <role rolename="manager-gui"/>
5     <role rolename="manager-script"/>
6     <user username="tomcat7" password="tomcat7" roles="manager-gui,manager-script" />
7  
8 </tomcat-users>

7.2、配置Maven認證

在Maven的配置檔案settings.xml裡配置上面Tomcat使用者,以後Maven將會用該賬號登入Tomcat伺服器。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <settings ...>
 3     <servers>
 4  
 5         <server>
 6             <id>Tomcat7Server</id>
 7             <username>tomcat7</username>
 8             <password>tomcat7</password>
 9         </server>
10  
11     </servers>
12 </settings>

7.3、在pom.xml裡配置Tomcat部署外掛

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>Tomcat7Server</server>
        <path>/CounterWebApp</path>
    </configuration>
</plugin>

7.4、部署到伺服器

mvn tomcat7:deploy --部署專案

mvn tomcat7:redeploy --重新部署專案

mvn tomcat7:undeploy --撤銷已經部署的專案

當部署命令執行的時候,Maven就會根據settings.xml裡配置的Tomcat伺服器資訊去登入相應的伺服器,然後通過http://localhost:8080/manager/text把CounterWebApp專案部署上去,然後通過http://localhost:8080/CounterWebApp就可以訪問專案了。

本部落格的所有Maven文章都是參考http://www.mkyong.com/,感謝作者的付出。