Maven學習筆記(三)—— 使用Maven自帶的功能建立Java和JavaWeb專案
阿新 • • 發佈:2019-01-26
一、使用Maven建立Java專案
1、開啟命令視窗,輸入建立命令
使用shift+右鍵單擊,選擇在此處選擇開啟命令視窗,輸入如下命令:mvn archetype:generate -DgroupId=com.mengfei.demo -DartifactId=MavenJavaDemo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
命令說明:mvn archetype:generate:這是建立java專案的maven命令;-D:用來傳遞引數;groupId:引數,一般為公司或組織名稱,預設使用此名稱作為包名;artifactId:引數,一般為專案名-模組名的組合方式(普通的專案會有多個模組,為了區分),建立專案時會預設建立一個模組,會預設使用此名稱作為模組名;maven-archetype-quickstart:引數,建立maven專案的原型,quickstart代表java專案原型(更多關於archetype的內容可以參考:
2、建立成功,檢視工作目錄
3、檢視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>com.mengfei.demo</groupId> <!--專案組中的專案—模組標識,一般為專案名-模組名的組合方式(普通的專案會有多個模組,為了區分),建立專案時會預設建立一個模組,會預設使用此名稱作為模組名,artifact代表是一個資源集合體(可以理解為打包成品)--> <artifactId>MavenJavaDemo</artifactId> <!--專案的打包方式,java專案是jar包,web專案為war包--> <packaging>jar</packaging> <!--專案的版本號,可自定義,這裡預設使用快照版本,代表正在開發中--> <version>1.0-SNAPSHOT</version> <!--專案模組的名稱,相當於是別名--> <name>MavenJavaDemo</name> <!--專案的地址,可自定義--> <url>http://maven.apache.org</url> <!--屬性設定,可在這裡統一定義依賴jar包的版本號或者其他屬性配置--> <properties> <!--設定編碼屬性為utf-8,預設使用的是GBK--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!--某個依賴定義--> <dependency> <!--maven通過groupId、artifactId、version來確定一個專案的唯一座標,確保不會重複--> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <!--該依賴的作用範圍,預設為compile,還有test、provided、runtime、system 詳細介紹可以參考:http://blog.csdn.net/kimylrong/article/details/50353161--> <scope>test</scope> </dependency> </dependencies> </project>
4、編譯命令:mvn compile
5、測試命令:mvn test
6、打包命令:mvn package
在target目錄下開啟命令視窗,執行jar包,輸入命令:java -cp MavenJavaDemo-1.0-SNAPSHOT.jar com.mengfei.demo.App ,執行結果如下圖:
7、安裝命令:mvn install
二、使用Maven建立JavaWeb專案
1、開啟命令視窗,輸入建立命令
使用shift+右鍵單擊,選擇在此處選擇開啟命令視窗,輸入如下命令:mvn archetype:generate -DgroupId=com.mengfei.demo -DartifactId=MavenJavaWebDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
2、建立成功,檢視工作目錄
3、檢視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>com.mengfei.demo</groupId>
<artifactId>MavenJavaWebDemo</artifactId>
<!--web專案的打包方式為war包-->
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaWebDemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<!--這裡多了一個finalName,預設為當前模組的artifactId-->
<finalName>MavenJavaWebDemo</finalName>
</build>
</project>
4、進入到新建專案的根目錄,執行打包命令:mvn package
5、執行war包
方式一:將war包放到tomcat下面執行
第一步:將war包複製到tomcat目錄下面的webapps目錄第二步:進入到tomcat下面的bin目錄,找到startup.bat,雙擊啟動tomcat
第三步:不關閉啟動頁面,在瀏覽器輸入訪問路徑,訪問專案中的index.jsp中的內容
方式二:使用tomcat外掛釋出執行
第一步:修改pom.xml檔案,在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>com.mengfei.demo</groupId>
<artifactId>MavenJavaWebDemo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaWebDemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MavenJavaWebDemo</finalName>
<pluginManagement>
<!--配置Tomcat-->
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
第二步:進入到此專案的根目錄,在根目錄下輸入命令:mvn tomcat7:run
要下載外掛,可能要等一會
第三步:開啟瀏覽器,輸入訪問路徑,同樣可以訪問專案下面的index.jsp頁面(tomcat啟動視窗不要關閉)
方式三:使用jetty外掛釋出執行
第一步:修改pom.xml檔案,在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>com.mengfei.demo</groupId>
<artifactId>MavenJavaWebDemo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaWebDemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MavenJavaWebDemo</finalName>
<pluginManagement>
<!--配置Jetty-->
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
第二步:進入到此專案的根目錄,在根目錄下輸入命令:mvn jetty:run要下載外掛,可能要等一會兒
第三步:開啟瀏覽器,輸入訪問路徑,同樣可以訪問專案下面的index.jsp頁面(jetty啟動視窗不要關閉)
6、簡單擴充套件,在MavenJavaWebDemo專案中呼叫MavenJavaDemo專案中App類中的方法
第一步: 在MavenJavaDemo專案中的com.mengfei.demo包中的APP類中新新增一個方法,如下:package com.mengfei.demo;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
public String say(){
return "HelloMaven";
}
}
第二步:將MavenJavaDemo專案打包成jar包安裝到本地倉庫提示:在MavenJavaDemo專案的根目錄下使用mvn install命令即可第三步:在MavenJavaWebDemo專案的pom.xml檔案中新增MavenJavaDemo專案的jar包依賴,如下:
<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>com.mengfei.demo</groupId>
<artifactId>MavenJavaWebDemo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaWebDemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.mengfei.demo</groupId>
<artifactId>MavenJavaDemo</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>MavenJavaWebDemo</finalName>
<pluginManagement>
<!--配置Tomcat-->
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
第四步:修改MavenJavaWebDemo專案中webapp目錄下的index.jsp檔案,程式碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.mengfei.demo.App" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=new App().say()%>
</body>
</html>
第五步:啟動tomcat(jetty也可以)提示:在MavenJavaWebDemo專案的根目錄下執行mvn tomcat7:run命令即可(jetty就是mvn jetty:run)
第六步:在瀏覽器中訪問此專案下的index.jsp頁面,結果如下: