您的位置 首页 > 数码极客

maven如何维护本地仓库

1 Maven基础

开发环境

jdk: 1.8

tomcat: 8.5

maven: 3.5.2

eclipse: oxygen.2)

apache公司的开源项目, 是项目构建工具. 用来依赖管理.

maven的好处

使用传统项目开发CRM项目, 项目大小40多M

同样的项目使用maven开发, 项目大小100多KB

同样的代码实现的功能都一样, maven如何做到的?

Maven项目没有jar包, jar包都在maven仓库中, maven对jar包统一管理.

2 maven的好处如何实现

maven的两大核心:

  • 依赖管理
  • 对jar包管理
  • 项目构建
  • 项目在编码完成后, 对项目进行编译, 测试, 打包,部署等 一系列的命令都通过命令来实现

通过maven命令将web项目发布到tomcat

cmd到项目路径中: mvn tomcat:run

3 maven安装, 配置本地仓库

maven程序安装前提, maven是java开发, 它的运行依赖jdk.

3.1 maven的下载安装

下载解压 a, 解压路径不要有特殊字符

jdk环境变量需要设置: JAVA_HOME

3.2 配置环境变量

  • 系统, 环境变量, 新建,
MAVEN_HOME D:\java\a
  • 配置Path
Path 添加 %MAVEN_HOME%\bin;

查看maven版本

cmd中mvn -v

3.3 配置本地仓库

maven仓库类型:

  • 本地仓库
  • 私服: 存在于局域网内的一台服务器, 存jar包
  • 中央仓库: 在互联网上,存放了基本上所有的开源的jar包, 由maven团队维护

配置本地仓库:

  • 找到jar包仓库压缩包
  • 将bo解压
  • 在D:\java\a\conf 中修改
<localRepository>D:\sshenv\bos_repository</localRepository>

4 maven项目标准目录结构

maven-helloworld

  • src (项目源码)
  • main
  • java (java类)
  • resources (配置文件, spring,Struts2配置文件的存放目录)
  • webapp (页面素材)
  • jsp
  • WEB-INF
  • index.jsp
  • test
  • java
  • resources
  • (project object modul, maven项目的核心配置文件)

target (并不属于maven项目的目录, 是源码编译后的class文件)

5 maven的常用命令

5.1 clean : 清理

将项目根目录下target目录清理掉

cmd到项目路径, mvn clean

5.2 compile : 编译

将项目中的.java文件编译为.class文件

mvn compile

5.3 test : 单元测试

项目根目录下src/test/java 目录下的单元测试都会执行.

单元测试类名要求: XxxTe

mvn test

5.4 package : 打包

web project --> war包

java project --> jar包

将项目打包到target目录

5.5 install : 安装

本地多项目共用一个jar包.

打包到本地仓库

5.6 maven项目的生命周期 (了解)

在maven中存在3套生命周期, 每一套生命周期相互独立, 互不影响

  • CleanLifeCycle : 清理生命周期
  • clean
  • DefaultLifeCycle : 默认生命周期
  • compile, test, package, install, deploy
  • SiteLifeCycle : 站点生命周期
  • site

6 maven整合web项目案例

6.1 配置eclipse中maven环境

  • 配置m2e插件, Mars2版本已经自带maven插件
  • 需要配置maven程序
  • Preferences --> Maven --> Installations --> Add.. --> 找到maven的解压路径
  • 配置User Settings
  • User Settings 设置为D:\java\a\conf\
  • 构建索引
  • Window --> show view --> maven repository --> Local Repository(D:\java\maven_repository) --> Rebuild Index

6.2 Maven整合Servlet

Maven Project --> 创建普通项目或父工程时

Maven Module --> 创建子模块

6.2.1 创建maven project, 勾选create simple...

创建好的web项目, 有两个错误

  • 缺失web.xml,
  • jdk编译版本是1.5 , 在中添加插件
<!-- 添加项目jdk编译插件 --> <build> <plugins> <plugin> <groupId>org.a;/groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>

或者修改全局jdk版本

文件中的profiles标签下添加

<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.com;1.8</maven.com; <maven.com;1.8</maven.com; <maven.com;1.8</maven.com; </properties> </profile>

6.2.2 创建Servlet

创建好的Servlet编译报错, 原因是缺少

查找依赖

--> Dependencies --> Add

注: 如何安装jar包到本地仓库中?

mvn install:install-file -Dfile=d:\tmp\javax. -DgroupId=javax -DartifactId=javax-servlet-api -Dversion=3.0.1 -Dpackaging=jar

或使用工具类 In

6.2.3 依赖范围 (了解)

依赖范围对于编译classpath有效对于测试classpath有效对于运行时classpath有效例子compileYYYspring-coretest-Y-JunitprovidedYY-servlet-api, jsp-apiruntime-YYJDBC驱动systemYY-本地的, Maven仓库之外的类库

添加依赖范围: 默认是compile

provided : 运行部署到tomcat不再需要

如果将设置为compile, 打包后包含, war包部署到tomcat中存在包冲突, 导致运行失败

解决; --> Dependencies --> Properties --> provided

类似的有 j, 也需要设置为provided

6.2.4 运行maven项目

项目 --> 右键 --> run as --> Maven build...

如果是Debug运行, 选择debug as , 并且需要在Source中添加源码

7 maven概念模型

两个核心:

  • 依赖管理系统 : 对jar包管理
  • 项目对象模型 (Project Object Model) : 项目构建 : 通过命令进行项目构建

见图片

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“maven如何维护本地仓库”边界阅读