约定的目录结构

Posted zhzcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约定的目录结构相关的知识,希望对你有一定的参考价值。

【概述】

为了实现自动化构建,使用Maven时必须按照约定的目录结构创建项目代码。

 

【目录结构】

技术分享图片

 

 

【说明】

  • main :目录下存储Java项目的源代码文件。其中java存储源代码。resources存放资源文件,如:jdbc.properties
  • test :目录下存储项目测试的源代码文件。其中java中存储测试代码,resources存储测试的资源文件

 

【示例】

1) java代码

技术分享图片

1 package cn.hl.clazz;
2 
3 public class Hello{
4     public void sayHello(){
5         System.out.println("hello maven");
6     }
7 }

 

2) 测试代码

技术分享图片

 1 package cn.hl.clazz;
 2 
 3 import org.junit.Test;
 4 
 5 public class TestHello{
 6     @Test
 7     public void test1(){
 8         Hello hello = new Hello();
 9         hello.sayHello();
10     }
11 }

 

3) Pom.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 4 
 5     <!-- 模型的版本,不能进行修改。从Maven2.0开始使用4.0.0-->
 6     <modelVersion>4.0.0</modelVersion>
 7     
 8     <!--三要素:坐标。通过三要素可以定位到一个工程-->
 9     <groupId>cn.hl.hello</groupId>
10     <artifactId>hello</artifactId>
11     <version>0.1.1</version>
12  
13     <!-- 配置依赖的工程 -->
14     <dependencies>
15         <dependency>
16             <groupId>junit</groupId>
17             <artifactId>junit</artifactId>
18             <version>4.12</version>
19         </dependency>
20     </dependencies>    
21 </project>    

 

4) 编译

在命令行窗口下进入到pom文件所在路径下.输入:mvn compile命令.

技术分享图片

 

 

5) Maven的执行过程

  • Maven的核心组件并不负责项目的构建,核心只负责调度
  • 构建工作是由插件来完成的
  • 插件存在于Maven仓库中,使用过程中需要进行下载
  • Maven的仓库可以自行配置.默认路径在: {User}.m2 epository

技术分享图片

 

6) 修改Maven仓库

 

  • 配置文件位置

 

apache-maven-3.3.9confsettings.xml

 

  • 修改仓库位置

技术分享图片

 

 

 

以上是关于约定的目录结构的主要内容,如果未能解决你的问题,请参考以下文章

Maven 约定配置

约定的目录结构说明

Maven_约定的目录结构

Gradle 可以处理不符合默认约定的构建目录结构吗?

使用 Apollo 客户端的片段组合:约定和样板

04_项目一众筹00_03_Maven项目管理工具_Maven_概念(pom约定的目录结构坐标)