Maven-2

本文介绍了Maven的仓库类型,包括本地仓库、中央仓库和远程仓库(私服),详细讲解了Maven的安装配置,包括环境变量设置和阿里云私服配置。此外,还提到了Maven的常用命令、依赖范围、坐标概念及其组成,并指导如何在IDEA中配置和管理Maven项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Maven写一端代码就导入项目了,但是jar包从哪来呢  从仓库来的 
                    1.本地仓库(Local Repository)
                        自己计算机的一个目录  下面存着很多jar包
                    2.中央仓库(Central Repository)
                        由Maven团队维护的全球唯一的仓库
                        地址:https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient/3.1
                        放了大部分我们需要的jar包  其他的有版权信息  没有收录  我们不能自己维护 ,不能修改,下载速度慢
                    3.远程仓库(私服)(Remote Repository)
                        一般由公司团队搭建的私有仓库,和中央仓库同步,可以修改 下载速度很快 
                仓库的说明:                
                    当项目中使用坐标引入对应的依赖jar包后,首先会查找本地仓库是否由对应的jar包,如果有,则项目中直接引用,如果没有,则去中央仓库下载对应的jar包到本地仓库
                Maven安装配置
                    1.解压apache-maven-***(合适稳定的版本).rar 即安装完成
                    2.配置环境变量 MAVEN_HOME 为安装路径的bin目录
                    3.配置本地仓库:修改con/settings.xml中的<localRepository>为一个指定目录
                    4.配置阿里云私服:修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签
                        <mirror>
                            <id>alimaven</id>
                            <name>aliyun.mav</name>
                            <url>http://maven.aliyun.com/nexus/conyent/groups/public</url>
                            <mirrorOf>central</mirrorOf>
                        </mirror>
                    使用win+R 进入cmd命令提示符界面 输入mvn -version
                    如果没有报出不是内部或外部命令 就是安装ok了
                MAVEN的常用命令    
                    complie    编译  生成target
                    目录
                    clean    清理 清理target目录
                    test    测试 自动帮你执行测试命令
                    package    打包 将对应项目打成一个jar包
                    install    安装 将当前jar包安装到本地仓库里边去
                MAVEN的依赖范围
                    通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境,测试环境,运行环境
                    
                    

 Maven坐标详解
                    什么是坐标?
                    Maven中的坐标是资源的唯一标识
                    使用坐标定义项目或引入项目中需要的依赖
                Maven坐标的组成
                    groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.baidu)
                    artfactld:定义当前Maven项目名称(通常是模块名称,例如order-service)
                    version定义当前版本号

                             

                     <groupId>mysql</groupId>
                      <artifactId>mysql-connector-java</artifactId>
                     <version>5.1.47</version>

                IDEA配置Maven
                    1.选择IDEA中的File-->Settings



                    2.搜索maven
                    3.设置IDEA使用本地安装的Maven,并修改配置文件路径

 

 

 

创建Maven项目

 

 

 

创建出来的Maven项目test目录下没有resources   如果需要在test目录下java同级目录下创建一个resources文件就好了

 创建完成之后  之前怎么写项目的 现在就怎么写 

 依赖管理
                    使用坐标导入jar包
                    1.在pom.xml文件中编写<dependencies>标签
                    2.在<dependencies>标签中使用<dependency>引入坐标
                    3.定义坐标的groupld,artfactld,version
                    4.点击刷新按钮,使坐标生效
                    <dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>5.1.47</version>
                        </dependency>
                    </dependencies>

 

点击刷新后

 记得每一次导完坐标就刷新  要不然就会不生效

### 如何选择合适的Maven Archetype 在创建新的Maven模块时,选择适合的Archetype取决于目标项目的性质以及所需的功能。以下是关于`maven-archetype-quickstart`和`maven-archetype-webapp`的具体分析: #### 1. **maven-archetype-quickstart** 这是一个最基本的Maven项目模板,适用于普通的Java应用程序开发[^1]。其主要特点如下: - 自动生成的基础结构包括一个简单的Java类 (`App.java`) 和对应的单元测试类 (`AppTest.java`)。 - `pom.xml` 文件中默认包含了JUnit依赖项,便于编写和运行单元测试。 - 不涉及任何特定的应用场景(如Web应用),仅用于构建标准的Java程序。 对于那些不需要复杂框架支持或者仅仅是学习目的的小型实验性项目来说,这是非常理想的选择。 ```xml <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> ``` #### 2. **maven-archetype-webapp** 此模板专为基于Servlet/JSP技术栈的传统Web应用程序设计而准备[^5]。它的特性有: - 自动设置好了一个WAR打包形式(`packaging=war`) 的POM文件; - 提供了初始页面(index.jsp),并设置了必要的部署描述符(web.xml)路径; - 结构清晰地区分出了资源文件夹(src/main/webapp/)与其他源码区域。 如果计划建立的是面向互联网的服务端解决方案,则应该优先考虑采用此类别的原型作为起点。 ```java // Example of a simple servlet that could be part of the web application. @WebServlet("/hello") public class HelloServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.getWriter().println("Hello from Servlet!"); } } ``` ### 总结建议 - 如果您打算启动一个新的纯Java控制台程序或者是想探索基础概念的学习环境,请选用`maven-archetype-quickstart`. - 对于旨在搭建网站服务或者其他任何形式上的网络交互平台而言,则推荐利用`maven-archetype-webapp`. 通过以上对比可以看出两者之间的显著差异在于用途范围的不同:前者更偏向简单实用性的桌面级操作;后者则针对复杂的服务器端逻辑处理需求进行了优化调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值