maven 項目的創建入門

拓展閱讀

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 系統屬性未設置
  1. 您可以使用低版本的 Maven 以適應您的 IDEA。

  2. 或者按照以下方式解決:

-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 發佈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章