拓展閱讀
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 installmvn tomcat7:run
- 常規方式
Tomcat 中文文檔
提示
設置
您可以使用以下步驟配置 Maven 設置,然后搜索 maven
快捷鍵:ctrl+alt+s
報錯
-Dmaven.multiModuleProjectDirectory 系統屬性未設置
您可以使用低版本的 Maven 以適應您的 IDEA。
或者按照以下方式解決:
-Dmaven.multiModuleProjectDirectory=$M2_HOMEM2_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 發布!