栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven的安装配置以及使用入门-----

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven的安装配置以及使用入门-----

Maven的安装配置以及使用
    • 配置 maven的 环境变量
    • maven项目目录----->>>
    • maven的使用
    • 包的依赖关系
      • complie
      • test
      • runtime
      • provided

Maven 的主要目标是让开发人员在最短的时间内了解开发工作的所有状态。为了实现这一目标,马文涉及几个令人关切的领域:

使构建过程变得简单
提供统一的构建系统
提供高质量的项目信息
鼓励更好的发展做法

去官网下载适合的maven
这里用到的是3.8.3版本;
下载之后解压,将文件放到一个合适的目录,我是放在了
之后开始配置maven,maven跟java一样,都需要有一个path的环境变量----

注意---->>在配置maven之前一定要配置好java环境变量;

检查一下java环境变量----->>>


在配置maven时,你可以可建一个MAVEN_HOME, path中引用MAVEN_HOME的方式也可以

配置 maven的 环境变量

在path环境变量下添加maven配置,目标位maven的bin目录

配置完之后检查配配置是否成功-----
在控制输入 mvn -v,如果有反应,说明配置成功

虽然配置成功了,但是由于是第一次配置,还需要一些其他依赖文件,在控制台输入–

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

注意,这会在你本地用户文件夹下创建一个maven项目,找起来比较麻烦,所以建议自己指定一个文件夹来存放maven项目,

你也可以模仿我这么操做----

控制台进入D:Program FilesmavenProjects文件夹,然后执行上方命令
这个操做会从官网下载一些依赖以及一些配置文件,执行成功会有 BUILD SUCCESS提示;

同时检查

maven项目目录----->>>

出现my-app说明操做成功,至此maven安装与配置就结束了;
生成目标创建了my-app名称目录。。

cd my-app
根据此目录,您将注意到以下标准项目结构。

my-app
|-- pom.xml
-- src |-- main |– java
| -- com |– mycompany
| -- app |– App.java
-- test– java
-- com– mycompany
-- app– AppTest.java
目录包含项目源代码,目录包含测试源,文件是项目的项目对象模型(POM)

最后说一下如何让卸载maven,由于不是直接安装的maven,所以
卸载起来很简单------>>
1,环境变量中删除maven配置,
2,删除maven所在文件
3清理maven仓库-----即项目存放的地方

maven中一些常用的命令

构建项目

mvn package

这需要在pom.xml所在文件夹下执行,要不然会提示找不到pom.xml文件错误;

打包好之后控制台会提示----
这是我们打包好的jar文件位置所在D:mavenProjectsmy-apptargetmy-app-1.0-SNAPSHOT.jar

用以下命令测试新编译和打包的 JAR:

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

mvn clean dependency:copy-dependencies package

此命令将清理项目、复制依赖项并打包项目(当然,执行所有阶段到包)。

生成站点
mvn site

maven的使用

要了解maven是什么,首先得分析一下我们传统写java项目的时候 ,我们经常会导入一些依赖包,比如jdbc驱动,jstl标签库,log4j等等,将他们放在classpath中,虽然这些工作难度不大,但是比较繁琐;
maven针对这个问题专门位java项目的开发提供了一套管理和构建工具;

提供了一套标准化的项目结构;
提供了一套标准化的构建流程(编译,测试,打包,发布……);
提供了一套依赖管理机制。
Maven项目结构
一个使用Maven管理的普通的Java项目,它的目录结构默认如下:

a-maven-project —项目名
├── pom.xml – 项目描述文件
├── src —项目根目录
│ ├── main
│ │ ├── java —java源码存放处
│ │ └── resources —资源文件
│ └── test —测试项目的目录
│ ├── java—java源码存放处
│ └── resources —资源文件
└── target 编译,打包好的文件存放处

pom.xml文件分析
groupId类似于Java的包名,通常是公司或组织名称,artifactId类似于Java的类名,通常是项目名称,再加上version,一个Maven工程就是由groupId,artifactId和version作为唯一标识。我们在引用其他第三方库的时候,也是通过这3个变量确定。
通过上述3个变量,即可唯一确定某个jar包。Maven通过对jar包进行PGP签名确保任何一个jar包一经发布就无法修改。修改已发布jar包的唯一方法是发布一个新版本。

因此,某个jar包一旦被Maven下载过,即可永久地安全缓存在本地。

以上是maven本地加载的一些核心包名
,如果要使用的包,那么需要配置依赖-----


    commons-logging
    commons-logging
    1.2

使用声明一个依赖后,Maven就会自动下载这个依赖包并把它放到classpath中。

那maven是从哪里下载我们需要的依赖包呢?
首先maven维护了一个仓库,基本上所有的依赖包都会上传到这个仓库,这个就不需要我们关心了;

那有一个小细节,我们怎么知道对应的 以及 呢?

我们可以通过maven仓库 来搜索关键字 搜索得到上面三个信息—
Maven Central Repository Search
从maven的官方仓库下载一些依赖包会比较慢,一般是使用ALIYUN的仓库替代官方仓库
使用Maven镜像仓库需要一个配置,在用户主目录下进入.m2目录,创建一个settings.xml配置文件,内容如下:


    
        
            aliyun
            aliyun
            central
            
            https://maven.aliyun.com/repository/central
        
    

上述三个元素指向一个项目的特定版本,让 Maven 知道当在其软件生命周期中,我们正在处理哪个项目;

配置好后接下来就是maven的一些基础知识

包的依赖关系

在java中,maven解决的是有关包的依赖关系,
在maven中定义了几种依赖关系---->>>
complie 这说明编译时需要用到该jar包 例如 commons-logging

test 在测试环境下 需要用到该jar包 例如junit
runtime 编译时不需要,但是运行时需要用到 例如 jdbc驱动
provided 编译时需要用到,但运行时由某个JDK或者某个服务器提供 例如 某个servlet

complie

complie是最基本的也最常用 ,maven会将这种类型的依赖直接放入classpath

test
 
    
      junit
      junit
      4.11
      test
    
  
runtime

mysql
  mysql-connector-java
  8.0.27
    runtime

provided

    javax.servlet
    javax.servlet-api
    4.0.0
    provided

maven会对开发版的项目中的一些依赖每次都会重新下载依赖,在maven中以SNAPSHOT结尾的版本号会被视为开发版本,这种SNAPSHOT版本只能用于内部私有的Maven repo,公开发布的版本不允许出现SNAPSHOT

在配置好maven环境时候,下载的资源中已经为我们准备好一个项目—myapp,我们可以通过这个来测试一下一些常用命令—

mvn -v ----查看maven版本以及JDK和系统版本

mvn package -----打包项目

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App ---- 运行项目

运行项目的命令解析—
java -cp

target ----项目存放相对地址 ,也可以写项目绝对地址不过要把证地址准确性
my-app-1.0-SNAPSHOT.jar —jar包名

com.mycompany.app----包名即 pom.xml中配置的groupId

.POM 型号版本(始终为 4.0.0)。

.项目所属的团体或组织。通常表示为倒置域名。

.要给项目图书馆文物起的名字(例如,其 JAR 或 WAR 文件的名称)。

.正在构建的项目版本。

- 应如何包装项目。JAR 文件包装的默认"jar"。使用"war"进行war文件包装。

实践出真知…加油

maven中各个文件夹的含义–见名知意

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/489145.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号