约定的目录结构
这是 Maven 项目约定的目录结构:
项目名
|------src (源码)
|-------|------- main (存放主程序类)
|-------|--------|-------java (存放 Java 源文件)
|-------|--------|-------resources (存放框架以及其他工具的配置文件)
|-------|-------test (存放测试程序)
|-------|--------|-------java
|-------|--------|-------resources
|------pom.xml (Maven工程的核心配置文件)
为什么要遵守约定的目录结构呢?
Maven 要负责我们这个项目的自动化构建, 以编译为例, Maven 想要自动进行编译, 那么他必须知道 Java 源文件在哪里.
如果我们自己定义的东西想要框架或者工具知道, 那么有两种办法:
① 以 xml 配置文件的方式告诉框架.
② 遵守框架内部已经存在的定义.
手动编写第一个 Maven 工程
(1) 首先先创建约定的目录结构
手动创建 Maven01 文件夹, (作为项目名), 在其下面分别创建 src 文件夹 和 pom.xml 文件
在 src 文件夹下分别创建 main 和 test 文件夹,
在 main 和 test 文件夹分别创建 java 和 resources 文件夹.
(2) 在项目名文件夹下, 即 src 的同级目录中创建 pom.xml 文件.
<?xml version="1.0" ?>
<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 所有的Maven项目都必须配置这四个配置项 -->
<modelVersion>4.0.0</modelVersion>
<!--groupId 公司名倒叙 + 项目名-->
<groupId>it.sgy.Maven01</groupId>
<!-- 当前项目的模块名 -->
<artifactId>Maven01</artifactId>
<!-- 当前项目的版本 -->
<version>0.0.1-SNAPSHOT</version>
</project>
(3) 在 src / main / java 目录下, 创建 Hello.java 文件
package it.sgy;
class Hello{
public static void main(String[] args){
System.out.println("Hello Maven");
}
}
(3) 在 src / main / java 目录下, 创建 Hello.java 文件
package it.sgy;
class Hello{
public static void main(String[] args){
System.out.println("Hello Maven");
}
}
又因为该 java 文件存在包结构, 所以还要把包结构对应的文件目录创建出来.
手动在 src / main / java 目录下, 创建 it / sgy 目录, 并把该 java 文件放在里面.
(4) 在 pom.xml 文件的目录处, 打开 cmd .
输入命令 mvn compile 对 java 文件进行编译.
(5) 编译成功之后, 在项目的根目录下会生成一个 target 文件夹. 存放编译之后的 class 文件.
(6) 输入命令 mvn clean 删除编译生成的 target 文件夹
常用的 Maven 命令
执行与构建过程相关的 Maven 命令, 必须进入 pom.xml 文件所在的目录.
常用命令:
mvn compile 编译主程序
mvn test 执行测试
mvn test-compile 编译测试程序
mvn clean 清理
mvn package 打包
mvn install 安装, 执行此命令可以把我们自己的程序放置在本地仓库.
mvn site 生成站点