擴充閱讀
maven 包管理平臺-01-maven 入門介紹 + Maven、Gradle、Ant、Ivy、Bazel 和 SBT 的詳細對比表格
maven 包管理平臺-02-windows 安裝配置 + mac 安裝配置
maven 包管理平臺-03-maven project maven 專案的建立入門
maven 包管理平臺-04-maven archetype 專案原型
maven 包管理平臺-05-multi module 多模組
maven 包管理平臺-06-常用技巧 實時更新快照/亂碼問題/下載很慢/包依賴解決包衝突/如何匯入本地 jar
maven 包管理平臺-07-plugins 常見外掛介紹
maven 包管理平臺-08-nexus 自己搭建 maven 倉庫
建立 Maven 專案
您可以像這樣在 IntelliJ IDEA 中建立 Maven 專案:
File -> New -> Module -> Maven
-
步驟 1:從原型中選擇一個
-
步驟 2:新增 GroupId、ArtifactId、Version
-
步驟 3:設定屬性
如果 Maven 構建非常緩慢,您可以新增以下程式碼:
archetypeCatalog=internal
執行專案
- 在命令列中的優雅方式
mvn clean install
mvn tomcat7:run
- 常規方式
Tomcat 中文文件
提示
設定
您可以使用以下步驟配置 Maven 設定,然後搜尋 maven
快捷鍵:ctrl+alt+s
報錯
-Dmaven.multiModuleProjectDirectory 系統屬性未設定
-
您可以使用低版本的 Maven 以適應您的 IDEA。
-
或者按照以下方式解決:
-Dmaven.multiModuleProjectDirectory=$M2_HOME
M2_HOME D:\Maven\apache-maven-3.3.9
pom.xml
- 預設的 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ryo</groupId>
<artifactId>maven</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>...</dependency>
...
</dependencies>
<build>
<plugins>
<plugin>...</plugin>
...
</plugins>
<!--maven only compile resources files under package ```resources```, you can solve it.-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
</project>
- 定義打包方式
<packaging>war</packaging>
- 定義原始檔編碼
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
常用的外掛彙總
- 定義 Maven 編譯器外掛
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
- 定義 Tomcat7 外掛
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/</path>
<uriEncoding>${project.build.sourceEncoding}</uriEncoding>
</configuration>
</plugin>
- 如果您希望預設情況下跳過測試,但希望能夠透過命令列重新啟用測試,
您需要在 pom 檔案中透過 properties 部分進行設定:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
- 您可以使用 Maven Shade 外掛 將類打包成 JAR。
maven scope 簡單介紹
- compile,預設值,適用於所有階段,會隨著專案一起釋出。
- provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。
- runtime,只在執行時使用,如JDBC驅動,適用執行和測試階段。
- test,只在測試時使用,用於編譯和執行測試程式碼。不會隨專案釋出。
- system,類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查詢它。
- import 它只使用在
<dependencyManagement>
中,表示從其它的pom中匯入dependency的配置
本文由部落格一文多發平臺 OpenWrite 釋出!