前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Maven工程约定目录结构

Maven工程约定目录结构

作者头像
兮动人
发布2021-06-11 19:29:38
1.7K0
发布2021-06-11 19:29:38
举报
文章被收录于专栏:兮动人的博客

1. maven约定的目录结构,约定是大家都遵循的一个规则.

每一个maven项目在磁盘中都是一个文件夹(项目-Hello)

代码语言:javascript
复制
He1lo/
---/src
------/main				#放你主程序java代码和配置文件
----------/java			#你的程序包和包中的java文件
----------/ resources	#你的java程序中要使用的配置文件

-----/test 				#放测试程序代码和文件的(可以没有)
---------/java			#测试程序包和包中的java文件
--------/resources		#测试java程序中要使用的配置文件

---/pom.xml 			#maven的核心文件(maven项目必须有)
  • 如:创建一个maven项目名为Hello的目录结构
  • 如在E:\maven_work\Hello\src\main\java\com\xdr630路径下添加以下代码,名为:HelloMaven.java
代码语言:javascript
复制
package com.xdr630;

public class HelloMaven {

    public int add(int n1, int n2){
        return n1+n2;
    }

    public static void main(String[] args) {
        HelloMaven hello = new HelloMaven();
        int res = hello.add(10,20);
        System.out.println("10+20="+res);
    }
}
  • 在目录的E:\maven_work\Hello中打开 CMD 窗口或 git bash(也就是 pom.xml 所在的目录下),执行命令:mvn compile
  • 该命令的作用是编译src\main\java\路径下的所以 java 文件,且编译成 class 文件 ,在项目根路径下生成一个 target 目录存放,也叫结果目录

2. 疑问:mvn compile 编译src/main目录下的所有java文件的。

1)为什么要下裁

  • maven工具执行的操作需要很多插件(java类–jar文件)完成的

2)下载什么东西了

  • jar文件–叫做插件–插件是完成某些功能

3)下载的东西存放到哪里了.

  • 默认仓库(本机仓库):C:\Users\xdr(登录操作系统的用户名)\.m2\repository
  • https://repo.maven.apache.org :中央仓库的地址
  • 执行mvn compile,结果是在项目的根目录下生成target目录(结果目录),maven编译的java程序,最后的class文件都放在target目录中

3. 设置本机存放资源的目录位置:

1.修改maven的配置文件,maven安装目录/conf/settings.xml 先备份settings.xml 2.修改<localRepository>指定你的目录(不要使用中文目录),如:

4. 仓库

1)仓库是什么:仓库是存放东西的,存放maven使用的jar 和我们项目使用的jar

  • maven使用的插件(各种jar)
  • 项目使用的jar(第三方的工具)
  1. 仓库的分类
  • 本地仓库,就是你的个人计算机上的文件夹,存放各种jar
  • 远程仓库,在互联网上的,使用网络才能使用的仓库 ①:中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库, 中央仓库的地址:https: //repo.maven.apache.org ②:中央仓库的镜像: 就是中央仓库的备份,在各大洲,重要的城市都是镜像。 ③:私服在公司内部,在局域网中使用的,不是对外使用的。
  1. 仓库的使用,maven仓库的使用不需要人为参与。 开发人员需要使用mysql驱动—>maven首先查本地仓库—>私服—>镜像—>中央仓库

5.pom:项目对象模型,是一个 pom.xml 文件

  1. 坐标:唯一值,在互联网中唯一标识一个项目的
代码语言:javascript
复制
<groupId>公司域名的倒写<groupId>
<artifactId>自定义项目名称</artifactId>
<version>自定版本号</version>

坐标对应本地仓库的文件夹

代码语言:javascript
复制
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.13</version>
</dependency>
  1. packaging:打包后压缩文件的扩展名,默认是jar , web应用是war packaging可以不写,默认是jar
  2. 依赖 dependenciesdependency ,相当于是java代码中import 你的项目中要使用的各种资源说明,比如项目要使用mysql驱动
代码语言:javascript
复制
<dependencies>
<-―依赖java代码中import -->
<dependenay>
<groupId>mysql</grouprd>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
</dependencies>I
  1. properties:设置属性
  2. build : maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk的版本等
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. maven约定的目录结构,约定是大家都遵循的一个规则.
  • 2. 疑问:mvn compile 编译src/main目录下的所有java文件的。
  • 3. 设置本机存放资源的目录位置:
  • 4. 仓库
  • 5.pom:项目对象模型,是一个 pom.xml 文件
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档