(轉發)maven3經常使用命令、java項目搭建、web項目搭建詳細圖解

------------------------------maven3經常使用命令---------------------------java

一、經常使用命令web

    1)建立一個Projectapache

 

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  mvn archetype:generate  固定格式bash

  -DgroupId         組織標識(包名)mvc

  -DartifactId        項目名稱app

  -DarchetypeArtifactId    指定ArchetypeId,maven-archetype-quickstart,建立一個Java Project;maven-archetype-webapp,建立一個Web Projecteclipse

  -DinteractiveMode      是否使用交互模式webapp

    2)編譯源代碼jsp

mvn compile

    3)編譯測試代碼maven

mvn test-compile

    4)清空

mvn clean

    5)運行測試

mvn test

    6)生產站點目錄並打包

mvn site-deploy

    7)安裝當前工程的輸出文件到本地倉庫

mvn install

    8)打包

mvn package

    9)先清除再打包

mvn clean package

    10)打成jar包

mvn jar:jar

    11)生成eclipse項目  

mvn eclipse:eclipse

    12)查看幫助信息

mvn help:help

   13)查看maven有哪些項目類型分類

mvn archetype:generate -DarchetypeCatalog=intrenal

 

 

  二、標準的Maven項目結構                                         

                    

    src/main/java  存放項目的源代碼

    src/test/java  存放測試源代碼

    若是要存放一些配置文件,能夠再創建一個目錄src/main/resource存放,如存放log4j.properties等

 

 

------------------------------java項目搭建---------------------------

 

使用Maven構建一個簡單的Java項目

  一、進入命令行,執行下面的語句。

mvn archetype:generate -DgroupId=cn.luxh.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  執行完成後,能夠看到以下結果:

  BUILD SUCCESS,當在前用戶目錄下(即C:\Documents and Settings\Administrator)下構建了一個Java Project叫作my-app。

  二、進入my-app目錄,能夠看到有一個pom.xml文件,這個文件是Maven的核心。

    1)pom意思就是project object model。

    2)pom.xml包含了項目構建的信息,包括項目的信息、項目的依賴等。

    3)pom.xml文件是能夠繼承的,大型項目中,子模塊的pom.xml通常都會繼承於父模塊的pom.xml

    4)剛構建的pom.xml說明

複製代碼

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.luxh.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

複製代碼

     節點元素說明:    

複製代碼

<project>      pom文件的頂級節點

    <modelVersion>   object model版本,對Maven2和Maven3來講,只能是4.0.0 

    <groupId>      項目建立組織的標識符,通常是域名的倒寫

    <artifactId>    定義了項目在所屬組織的標識符下的惟一標識,一個組織下能夠有多個項目

    <packaging>      打包的方式,有jar、war、ear等

    <version>       當前項目的版本,SNAPSHOT,表示是快照版本,在開發中

    <name>        項目的名稱

    <url>        項目的地址

    <dependencies>   構建項目依賴的jar

    <description>    項目的描述

複製代碼

     其中由groupId、artifactId和version惟一的肯定了一個項目座標

  三、構建的my-app項目結構以下

                    

    1)編譯源程序,進入命令行,切換到my-app目錄,執行命令:

mvn clean compile

 

 

    編譯成功,在my-app目錄下多出一個target目錄,target\classes裏面存放的就是編譯後的class文件。

    2)測試,進入命令行,切換到my-app目錄,執行命令:

mvc clean test

 

 

    測試成功,在my-app\target目錄下會有一個test-classes目錄,存放的就是測試代碼的class文件。

    3)打包,進入命令行,切換到my-app目錄,執行命令:mvc clean package,執行打包命令前,會先執行編譯和測試命令

 

    構建成功後,會再target目錄下生成my-app-1.0-SNAPSHOT.jar包。

    4)安裝,進入命令行,切換到my-app目錄,執行命令:

mvc clean install 

,執行安裝命令前,會先執行編譯、測試、打包命令

 

 

   構建成功,就會將項目的jar包安裝到本地倉庫。    5)運行jar包,進入命令行,切換到my-app目錄,執行命令:

java -cp target\my-app-1.0-SNAPSHOT.jar cn.luxh.app.App

 

 

------------------------------web項目搭建---------------------------

 

一、進入命令行,執行:

mvn archetype:generate -DgroupId=cn.luxh.app -DartifactId=my-web-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false

  出現一些版本號確認等直接回車就行,構建成功出現下面的提示。

  在當前用戶目錄下,生成的web項目目錄結構以下:

                        

  二、固然這個空的項目,只有一個index.jsp頁面,打包發佈運行。

    1)在命令行切換到my-web-app目錄,執行:mvn package,構建成功後,my-web-app目錄下多了一個target目錄,在這個目錄下會打包成my-web-app.war,把這個war包拷貝到Tomcat的發佈目錄下就能夠運行了。 

    2)集成Jetty發佈運行,須要配置pom.xml。

複製代碼

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.luxh.app</groupId>
  <artifactId>my-web-app</artifactId>
  <packaging>war</packaging><!--web項目默認打包方式 war-->
  <version>1.0-SNAPSHOT</version>
  <name>my-web-app Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>my-web-app</finalName>
    
    <pluginManagement>
    <!--配置Jetty-->
      <plugins>
        <plugin>
         <groupId>org.mortbay.jetty</groupId>   
         <artifactId>maven-jetty-plugin</artifactId>
        </plugin>
      </plugins>
</pluginManagement>

    
  </build>
  
</project>

複製代碼

    而後執行:mvn jetty:run 就能夠在8080端口上訪問應用了。

相關文章
相關標籤/搜索