拓展浏览

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 零碎属性未设置
  1. 您能够应用低版本的 Maven 以适应您的 IDEA。
  2. 或者依照以下形式解决:
-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 公布!