java的maven项目(一)
Maven项目管理工具
Svn + eclipse 约等于 maven量级
1 Maven的简介
1.1 什么是maven
是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的
1.2 Maven好处
普通的传统项目
Maven项目
分析:maven项目为什么这么小?没有jar。 需要jar吗?肯定需要。没有存在于maven项目里面,jar存在于哪?
1.3 依赖管理
1.4 项目一键构建
编码 编译 测试(junit) 运行 打包 部署
一个 tomcat:run就能把项目运行起来
Maven能干的事:
编译 测试(junit) 运行 打包 部署
1.5 小结:
Maven的好处:
1.5.1 依赖管理
就是对jar包的统一管理 可以节省空间
1.5.2 一键构建
1.5.3 可以跨平台
1.5.4 应用于大型项目 可以提高开发效率
分析:
用户管理 订单管理 支付管理 。。。。。
Maven的分模块开发
互联网项目 按业务分
传统项目 按层分 entity dao service web
2 Maven的安装配置
2.1 下载安装
从此目录中拷贝文件:
直接解压到一个没有中文没有空格的文件夹里解压后的目录如下:
Maven软件的核心文件:
2.2 Maven环境变量配置
1、 要配置jdk, maven3.3.9这个版本所需的jdk版本必须要1.7以上
2、 最终要运行的是maven软件中bin目录的mvn命令
所以要配置maven的环境变量
在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是maven软甲解压的目录F:\class32\apache-maven-3.3.9
3、把MAVEN_HOME添加到path里
4、验证maven是否配置成功:
打开dos窗口 输入: mvn –v
2.3 Maven仓库
三种仓库
1、本地仓库 自己维护
本地仓库的配置只需要修改settings.xml文件就可以
2、远程仓库(私服) 公司维护
3、中央仓库 maven团队维护 两个亿
三种仓库的关系如下:
3 演示入门程序
3.1 Maven的目录结构
3.2 Maven的常用命令
Clean 清理编译的文件
Compile 编译了主目录的文件
Test 编译并运行了test目录的代码
Package 打包
Install 就是把项目发布到本地仓库
Tomcat:run 一键启动
3.3 Maven的生命周期(了解)
Compile test package install deploy(发布到私服)
三种生命周期
Clean生命周期
Clean
Default生命周期
Compile test package install deploy
Site生命周期
Site
3.4 命令和生命周期的阶段的关系
不同的生命周期的命令可以同时执行
Mvn clean package
4 项目构建
M2e插件的安装
Maven在eclipse的配置
1、选择3.3.9版本的maven软件
2、修改默认的本地仓库地址
项目构建
1、 新建maven项目
2、调过骨架,如果不跳过骨架选择创建出的项目目录是不全的
2、 填写坐标
3、创建工程
4、处理红色叉号
手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
5、处理编译版本
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1
在pom.xml中添加如下代码 右键项目 ---》maven---》update project
<build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
5、创建一个servlet
修改web.xml
删除重复的代码
xmlns=http://java.sun.com/xml/ns/javaee
添加jar包
在pom中添加如下代码:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> </dependencies>
会发现jar包已添加到项目中
启动项目
右击项目---run as –maven build ….
5 依赖管理
Jar包的管理
需求:整合struts2 页面上传一个客户id 跳转页面
5.1 添加依赖:
打开maven仓库的视图:
5.2 重建索引
1、 创建maven项目(同上)
2、 跳过骨架(同上)
3、 填写坐标信息(同上)
4、 添加web.xml文件(同上)
5、 修改编译版本(同上)
6、 添加坐标 选择Dependencies标签 点击add
7、 手动输入要添加的坐标,选择版本
8、 可以看到 pom.xml文件中多出了如下代码
9、 同样的方式添加servlet-api.jar和jsp-api.jar 注意选择scope为provided
10、 写action代码
import com.opensymphony.xwork2.ActionSupport; public class CutomerAction extends ActionSupport { private Long custId; public Long getCustId() { return custId; } public void setCustId(Long custId) { this.custId = custId; } public String findById(){ return SUCCESS; } }
11、 添加struts.xml文件放到resources目录中
内容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 配置常量 --> <!-- 字符集 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 开发模式 --> <constant name="struts.devMode" value="true"></constant> <!-- 通用package --> <package name="customer" namespace="/" extends="struts-default"> <action name="find" class="cn.itcast.action.CutomerAction" method="findById"> <result name="success">/jsp/info.jsp</result> </action> </package> </struts>
12、 添加jsp页面
15、修改web.xml文件 添加过滤器
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5.3 依赖范围
5.3.1 Compile struts2-core
编译(compile)时需要 测试时需要,,运行时需要,打包时需要
5.3.2 Provided jsp-api.jar servlet-api.jar
编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
5.3.3 Runtime 数据库驱动包
编译时不需要,测试时需要,,运行时需要,打包时需要
5.3.4 Test junit.jar
编译时不需要,测试时需要,运行时不需要,打包也不需要
添加插件
Maven add plugin
如果用tomcat7运行用命令:
Tomcat7:run
常见问题:No compiler is provided in this environment. Perhaps you are running on a JRE
解决
java的maven项目(一)的更多相关文章
- JAVA基础-----Maven项目的搭建
Maven项目的搭建 一.前言 maven官网:http://maven.apache.org/, 文章简介:本文章从三个模块来了解Maven,分别是 Maven的基本概念~, Maven项目的安装和 ...
- JDK7+EclipseIDE+Tomcat7.0.55++mybatis3+Maven3.2.2 构建webapp 的java 的maven项目
构建Maven项目 工具 JDK7+EclipseIDE+Tomcat7.0.55++mybatis3+Maven3.2.2 JDK 下载地址 http://www.oracle.com/techne ...
- 【转】IntelliJ IDEA 创建 hello world Java web Maven项目
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- IntelliJ IDEA 创建 hello world Java web Maven项目从头到尾都有图有真相2017版本
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- Java 将Maven项目打成可执行jar包
一.用maven-shade-plugin打包 在pom.xml文件中加入如下信息,利用Maven的maven-shade-plugin插件进行打包. <build> <plugin ...
- 使用IDEA2017创建java web +maven项目
1.首先,提前准备的东西:我使用的是IDEA2017,tomcat7,jdk1.:请将这些软件安装完成,环境变量配置完成,如何配置以及安装我就不复述了,百度上一堆一堆的,比我知道的详细多了. 2.下面 ...
- 小白教程 Java web maven项目Windows下部署阿里云服务器全过程(买服务器,打包项目,连接服务器,配置服务器,部署项目)
-------------首先:购买服务器---------------- Step1: 在https://www.aliyun.com/?utm_content=se_1043015注册登录阿里云 ...
- java application maven项目打自定义zip包
1.配置pom.xml文件,添加build节点 <build> <!-- 输出的包名 --> <finalName>p2p</finalName> &l ...
- 关于scala和java 在maven项目中混编的问题
1.需要添加scala 相关maven配置: <properties> <scala.version>2.10.1</scala.version> <slf4 ...
随机推荐
- 【iOS开发】NSOperation简单介绍
iOS开发多线程篇—NSOperation简单介绍 一.NSOperation简介 1.简单说明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现 ...
- Mininet实验 动态改变转发规则
介绍 拓扑如下: 在该环境下,假设H1 ping H4,初始的路由规则是S1-S2-S5,一秒后,路由转发规则变为S1-S3-S5,再过一秒,规则变为S1-S4-S5,然后再回到最初的转发规则S1-S ...
- [LeetCode] 65. Valid Number(多个标志位)
[思路]该题题干不是很明确,只能根据用例来理解什么样的字符串才是符合题意的,本题关键在于几个标志位的设立,将字符串分为几个部分,代码如下: class Solution { public: strin ...
- thead tfoot tbody标签的使用
这三个都是<body>元素的子标签,不常用,因为其只是对<tr>标签做了一个区分 <thread>用于包裹表格头信息 <tfoot>用于包裹表格最后一行 ...
- 【bzoj1951】[Sdoi2010]古代猪文 费马小定理+Lucas定理+中国剩余定理
题目描述 求 $g^{\sum\limits_{k|n}C_{n}^{\frac nk}}\mod 999911659$ 输入 有且仅有一行:两个数N.G,用一个空格分开. 输出 有且仅有一行:一个 ...
- mac 倍速播放
Mac的倍速播放,使用工具播放是quick time player,使用方式是,按住 “option” + “>>” 即可调整倍数:
- HihoCoder 1480:矩阵填数 (杨氏矩阵 || 钩子公式 + 筛逆元)
描述 小Hi在玩一个游戏,他需要把1, 2, 3, ... NM填入一个N行M列的矩阵中,使得矩阵每一行从左到右.每一列从上到下都是递增的. 例如如下是3x3的一种填法: 136 247 589 给定 ...
- 修改innodb_flush_log_at_trx_commit参数提升insert性能
最近,在一个系统的慢查询日志里发现有个insert操作很慢,达到秒级,并且是比较简单的SQL语句,把语句拿出来到mysql中直接执行,速度却很快. 这种问题一般不是SQL语句本身的问题,而是在具体的应 ...
- [hdu 1067]bfs+hash
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1067 queue里面果然不能放vector,还是自己写的struct比较省内存…… #include& ...
- wyh的物品~(二分)
链接:https://www.nowcoder.com/acm/contest/93/I来源:牛客网 题目描述 wyh学长现在手里有n个物品,这n个物品的重量和价值都告诉你,然后现在让你从中选取k个, ...