eclipse maven打包jar 部分jsp无法访问_Maven详解—上

1 Maven基础

开发环境

jdk: 1.8

tomcat: 8.5

maven: 3.5.2

eclipse: oxygen.2(4.7.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的下载安装

下载解压 apache-maven.zip, 解压路径不要有特殊字符

jdk环境变量需要设置: JAVA_HOME

3.2 配置环境变量

  • 系统, 环境变量, 新建,
MAVEN_HOME D:javaapache-maven-3.5.3
  • 配置Path
Path 添加%MAVEN_HOME%bin;

查看maven版本

cmd中mvn -v

3.3 配置本地仓库

maven仓库类型:

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

配置本地仓库:

  • 找到jar包仓库压缩包
  • 将bos_repository.zip解压
  • 在D:javaapache-maven-3.5.3conf 中修改settings.xml
D:sshenvbos_repository

4 maven项目标准目录结构

maven-helloworld

  • src (项目源码)
  • main
  • java (java类)
  • resources (配置文件, spring,Struts2配置文件的存放目录)
  • webapp (页面素材)
  • jsp
  • WEB-INF
  • index.jsp
  • test
  • java
  • resources
  • pom.xml (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 目录下的单元测试都会执行.

单元测试类名要求: XxxTest.java

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:javaapache-maven-3.5.3confsettings.xml
  • 构建索引
  • Window --> show view --> maven repository --> Local Repository(D:javamaven_repository) --> Rebuild Index

6.2 Maven整合Servlet

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

Maven Module --> 创建子模块

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

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

  • 缺失web.xml,
  • jdk编译版本是1.5 , 在pom.xml中添加插件
 org.apache.maven.plugins maven-compiler-plugin 1.81.8UTF-8

或者修改全局jdk版本

settings.xml文件中的profiles标签下添加

 jdk-1.8  true 1.81.81.81.8

6.2.2 创建Servlet

创建好的Servlet编译报错, 原因是缺少servlet-api.jar

查找依赖

pom.xml --> Dependencies --> Add

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

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

或使用工具类 InstallJarToMavenRepoUtils.java

6.2.3 依赖范围 (了解)

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

添加依赖范围: 默认是compile

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

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

解决; pom.xml --> Dependencies --> Properties --> provided

类似的有 jsp-api.jar, 也需要设置为provided

6.2.4 运行maven项目

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

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

7 maven概念模型

两个核心:

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

见图片

7ed3ce27e131ed001649653a21d1f1e8.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值