Maven项目的创建
Maven Example Project
Apache Maven 是 apache 下的一个用于项目构建和依赖管理的项目管理工具。它的官网是:https://maven.apache.org/。
pom.xml 文件是 Maven 的主要配置文件,配置项目的 groupId、artifactId、version 等 Maven 项目必要信息;配置 Maven 项目使用的远程仓库;定义 Maven 项目打包形式;定义 Maven 项目的依赖关系等。
安装配置
-
下载 maven 最新版本,https://maven.apache.org/download.cgi
-
解压下载的安装包(例如:apache-maven-3.6.3-bin.zip)到某个目录(注意:目录最好不要带中文和空格,例如:windows解压至 d:\soft\maven;mac 解压至 /Users/sh/soft/maven)
-
配置环境变量,以上述目录为例
- windows 环境下将目录
d:\soft\maven\bin添加到环境变量 Path 上 - mac 环境,在
~/.bash_profile文件中加入一行,然后执行一下source ~/.bash_profile使之生效export PATH=/Users/sh/maven/bin:$PATH
- windows 环境下将目录
-
命令行下执行
mvn --version,如果能正确显示版本号,说明安装正确,比如显示内容如下:➜ mvn --version Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00) Maven home: /Users/sh/bin/mvn Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.15", arch: "x86_64", family: "mac"
Maven 项目结构
src/main/java项目 Java 源文件(.java)src/main/resources项目资源文件src/test/java项目测试 Java 源文件(.java),单元测试/集成测试等src/test/resources项目测试资源文件target项目输出目录,项目编译产出物以及编译中产生的临时文件pom.xmlMaven配置文件(POM, Project Object Model)
Maven 常用命令
mvn compile编译源代码mvn package根据pom.xml中的配置生成构件包(例如:jar包、war包)mvn install将生成的构件包安装到本地仓库 Repository 中mvn deploy将生成的构件包部署到远程仓库mvn test-compile编译测试源代码mvn test运行测试mvn clean清空项目编译输出目录(即 target 目录)mvn clean package -Dmaven.test.skip=true先清空项目编译输出目录再打包,跳过测试
pom.xml 配置项说明
groupId / artifactId / verion
在 maven 中,由 groupId + artifactId + verion 来唯一确定一个项目的其中一个版本。
- groupId:组织名称,可表示为公司下的某个项目,例如:com.zeroten.javales 表示ZeroTen旗下的Java课程项目
- artifactId:项目里某个模块,例如:java-les-maven-example 表示Java课程项目下的Maven示例模块
- verion:版本号,例如:1.0.0
Maven项目进行Install时报出如下错误
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.0.0:war (default-war) on project DemoWebWar: Execution default-war of goal org.apache.maven.plugins:maven-war-plugin:3.0.0:war failed: basedir D:\eclipse-workspace\DemoWebWar\web does not exist -> [Help 1]
提示说明配置中需要的Web.xml不存在,对于它存在或不存在时,可有下面两种情况。
如果WEB-INF/web.xml文件存在,需要在pom.xml文件的<build>节点中,加上maven-war-plugin插件配置。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webResources>
<resource>
<directory>WebContent</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
如果WebContent/WEB-INF/web.xml文件不存在,则按下面的方式配置。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>

浙公网安备 33010602011771号