大数据WEB阶段Maven安装配置与使用
Maven零、目录Maven简介Maven 的安装与配置创建Maven工程创建maven-web工程搭建私服使用本地资源库阿里私服maven命令上传本地工程到私服中maven-web工程部署到tomcat中一、 maven简介传统项目存在的弊端多人合作时 , jar包版本冲突问题不易被发现 , 且解决繁琐传统项目打包方式不通用, 不
·
Maven
零、目录
- Maven简介
- Maven 的安装与配置
- 创建Maven工程
- 创建maven-web工程
- 搭建私服
- 使用本地资源库
- 阿里私服
- maven命令
- 上传本地工程到私服中
- maven-web工程部署到tomcat中
一、 maven简介
- 传统项目存在的弊端
- 多人合作时 , jar包版本冲突问题不易被发现 , 且解决繁琐
- 传统项目打包方式不通用 , 不能够很好的支持聚合项目的打包
- 传统的项目文件(配置文件 、 核心代码 、 测试代码)都放在src下 , 容易混乱
- maven优点:
- 可以通过几行简单的代码引入三方jar包 , 并且会自动引入此jar包所依赖的所有jar包
- 支持聚合项目打包 , 而且操作操作便捷
- 分目录存放各类型的文件 , 一目了然
二、 安装并配置maven
- 下载maven
- 百度maven第一个就是官网
- 下载时注意win版后缀为.zip , linux版后缀为.tar.gz
- 注意与机器位数匹配
- 将maven引入eclipse中
- 添加之后记得打钩
- 配置用户setting文件
- 选择的是刚刚maven的安装目录下的config目录下的setting.xml文件
- 配置本地仓库: 打开setting.xml文件
- maven的工作流程 , 本地仓库的作用:
- 当程序中的pom.xml文件中配置了三方jar包时 , maven便会开始自动导入jar包
- 在自动导入的过程中 , 先去本地仓库中查找有没有 , 如果本地仓库中没有就会自动联网去远程仓库中下载 , 下载完成后会自动保存到本地仓库中, 以便后续的使用, (远程仓库包括:私服 、 中央仓库 、 还有一些第三方镜像)
三、 创建maven工程
- 新建
- 选择骨架 , 这里的骨架实就是一个工程模板
- 定义坐标
- 坐标的作用让别的工程能够顺利的找到当前工程的信息
- SNAPSHOT与RELEASE的区别:
- SNAPSHOT版本指的是不稳定版本 , 尚在开发阶段
- RELEASE版本值得是稳定版本 , 基本开发完成, 即将发布的版本
- 坐标的作用让别的工程能够顺利的找到当前工程的信息
- 第一次创建maven工程时, 如果本地仓库是空的 , 则需要下载一段时间 , 因为骨架也是需要依赖许多jar包的 。
- 创建完maven工程首先要该默认的jdk
- java工程改两处
- 修改默认的jdk
- 修改默认的编译器
- 修改默认的jdk
- java-web工程改三处(后续有)
- java工程改两处
- maven工程的目录
- 在pom.xml文件中配置依赖的jar包坐标 , 会自动下载对应的jar
- 需要用到的jar包可以去官网上搜索对应的坐标
- 把坐标添加进pom.xml文件的依赖中
- 通过坐标会下载对应的jar包以及该jar包依赖的所有jar包
四、创建maven-web工程
- 解决jsp文件的报错:
- 解决方案: 关闭eclipse对jsp文件的校验工程 , 关闭所有是为了编译的速度更快
- 解决方案: 关闭eclipse对jsp文件的校验工程 , 关闭所有是为了编译的速度更快
- 修改web工程的jdk、 编译器 、 工作视图 , 3个地方:
- 修改视图: window-> showView->other
- web工程的目录结构
五、maven私服
- maven私服介绍
- 工作原理:
- 在多人项目开发的时候 , 尤其是聚合项目开发时 , 项目和项目之间会存在依赖关系 , 需要通过maven把彼此需要依赖的jar包保存起来 , 才能够供整个项目组的每一个成员访问
- 在多人项目开发的时候 , 尤其是聚合项目开发时 , 项目和项目之间会存在依赖关系 , 需要通过maven把彼此需要依赖的jar包保存起来 , 才能够供整个项目组的每一个成员访问
- 通过install命令可以把项目编译、打包后发布发布到本地仓库中 , 发布到本地仓库的资源可以供本地的任何工程使用
- 还可以把本地仓库的资源发布到私服中,可以供任何能够访问到私服的设备使用 。
- 工作原理:
- 搭建私服:
- 下载nexus并解压在于maven一致的安装目录
- 以管理员身份运行安装文件 , 安装完之后窗口自动关闭
- 在以管理员身份执行开启文件 , 开启玩自动关闭
- 检测服务是否开启
- 我的电脑->管理
- 在浏览器地址栏中输入localhost:8081/nenux访问私服页面 , 并登陆默认的账号是admin , 密码是admin123
- 我的电脑->管理
- 下载nexus并解压在于maven一致的安装目录
- maven配置私服
- 在setting.xml文件中添加私服的配置
- 在setting.xml文件中添加私服的配置
-
测试是否配置成功
1. 在pom.xml文件中选中<dependencies>标签和其中的所有内容用以下配置替换 <!-- 集中定义依赖版本号 --> <properties> <junit.version>4.12</junit.version> <spring.version>4.2.3.RELEASE</spring.version> <mybatis.version>3.2.8</mybatis.version> <mybatis.spring.version>1.2.2</mybatis.spring.version> <mybatis.paginator.version>1.2.15</mybatis.paginator.version> <mysql.version>5.1.32</mysql.version> <bonecp-spring.version>0.8.0.RELEASE</bonecp-spring.version> <druid.version>1.0.9</druid.version> <mapper.version>2.3.2</mapper.version> <pagehelper.version>3.4.2</pagehelper.version> <jsqlparser.version>0.9.1</jsqlparser.version> <slf4j.version>1.6.4</slf4j.version> <jstl.version>1.2</jstl.version> <servlet-api.version>2.5</servlet-api.version> <jsp-api.version>2.0</jsp-api.version> </properties> <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency> <dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId> <version>${mybatis.paginator.version}</version> </dependency> <!-- 通用Mapper,所有的单表的代码都不用编写 --> <dependency> <groupId>com.github.abel533</groupId> <artifactId>mapper</artifactId> <version>${mapper.version}</version> </dependency> <!-- Oracle版权问题,maven目录必须自己手动建立 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.1.0.7.0</version> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- 超高性能连接池 --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java6</artifactId> <version>2.3.9</version> <scope>compile</scope> </dependency> <!-- Apache Shiro 权限架构 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>1.2.3</version> </dependency> <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>${pagehelper.version}</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>${jsqlparser.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!-- JSP相关 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet-api.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>${jsp-api.version}</version> <scope>provided</scope> </dependency> <!-- 字符加密、解密 --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <!-- 数据校验 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.3.Final</version> </dependency> </dependencies> 3. 如果没有报错 ,且去查看本工程外部jar包是否被引入 , 则说明本地资源仓库配置ok
六、 阿里私服
-
Maven中常见的错误:
- 如果创建quickstart和webapp时会弹出两个对话框报错 , 且报错信息提示骨架有问题 , 则去删除本地资源库中\org\apche\maven\archetypes的所有骨架
-
解决方案:
-
在setting文件中配置阿里的私服
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
-
- 阿里私服的优点:
- 服务器在国内 , 比直接从maven中央仓库中下载速度要快很多
七、 maven命令
- 在使用maven命令之前要先配置maven环境变量
- 测试配置环境变量是否成功
- maven命令
- 需要cmd先进入到pom.xml文件所在目录
- mvn clean 把之前编译的class文件和jar\war文件删除
- mvn compile 把java文件编译为class文件
- mvn package 打包
- mvn install 在执行这个命令时会自动执行前面的三步
- 执行步骤: 先把之前编译完成和打包的文件删除 , 然后编译生成clas文件 , 然后把class文件打包 , 最后把打包好的文件上传至本地资源仓库 。
八、上传本地jar到私服中
- 选择artifact upload 下面的selectartifact upload选择要上传的jar
- 上传完成后查看上传的jar文件
九、 把maven-web工程部署到tomcat中:
-
在pom.xml文件中添加tomcat插件配置
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8090</port> <path>/</path><!—代表直接缺省工程名 --> </configuration> </plugin> </plugins> </build>
- 配置run config
- 导入源码(其实不导也可以只是不导的情况下不能使用断点调试)
- 开启tomcat
- 如果出现以下提示将代表项目部署完成 , 会出现一些红字 ,那不是报错 , 是一些日志
- 如果出现以下提示将代表项目部署完成 , 会出现一些红字 ,那不是报错 , 是一些日志
十、 jsp中el表达式失效问题
-
如果在jsp页面中出现el表达式失效问题 , 则需要在jsp的page标签中添加一个属性
isElIgnore=“false”
更多推荐
所有评论(0)