Maven干货
好处:
1、 依赖管理:对jar包统一管理
2、 项目构建:
项目编码完成后,对项目进行编译、测试、打包、部署。之前项目构建通过eclipse工具实现。今天学习新的工具也可以实现这些过程。比如:通过maven工具,使用命令实现项目一键发布
Maven程序配置,配置本地仓库

注意:maven工具必须有jdk环境。并且:jdk的环境变量key 必须是:JAVA_HOME
配置环境变量:MAVEN_HOME 配置到bin目录上一级

引入path环境变量中:

配置本地仓库
1 将资料中jar包仓库压缩包解压到本地磁盘
2 在maven程序配置文件中指定maven仓库路径

Maven仓库类型

Maven的标准目录结构
传统:
ProjectName
src
WebContent/WEB-INF/web.xml
Maven:

ProjectName
src
main
java
resources
[webapp]/WEB-INF/web.xml
Test
Java
resources
pom.xml
1 Maven常用的命令
1.1 clean:清理
将项目根目录下target目录删除。
1.2 compile:编译
将src下java文件编译为.class文件
1.3 test:测试
将src/test/java目录下的单元测试类中方法执行。 注意:单元测试类名必须为 XxxTest.java
1.4 package:打包
java-project ----> xxx.jar
web-project ------> xxx.war
打包项目到target目录。
现象:测试时候也会执行代码编译; 执行打包时候也会执行编译+测试
1.5 install:安装-安装到本地仓库
将项目打包发布到本地仓库
现象:执行install命令,compile,test,package都执行
1.1 maven的概念模型
说明maven的两个核心:

1 在eclipse中配置maven插件




1 使用maven整合web项目(servlet)
1.1 创建maven工程



创建好maven-web项目报错:
1、 web.xml没有:添加一个
2、 jdk版本1.5

1.2 创建servlet、查找jar包
创建好servlet缺失jar包。

1 使用maven整合struts2项目
1、 在pom.xml中添加struts2-core的jar包
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.24</version>
</dependency>
</dependencies>
2、 搭建struts2环境
a) 在classpath下创建struts.xml
b) 在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>
3、 需求:在地址栏中发送请求,请求action中调用action中某个方法
4、 创建action类

5、 在struts.xml通过struts2框架来创建action对象。

6、 在action添加save方法
7、 配置结果视图
Tomcat7插件
使用maven运行项目,使用版本tomcat6.
在pom.xml中添加tomcat7插件:
<!-- 添加tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!--访问项目路径 -->
<path>/test</path>
<!-- 端口号 -->
<port>8888</port>
<uriEncoding>utf-8</uriEncoding>
</configuration>
</plugin>
Tomcat:run命令就使用tomcat6,如果让tomcat7的插件生效,需要使用命令:tomcat7:run
Maven干货的更多相关文章
- Maven干货2
回顾: 1. maven核心 a) 依赖管理:对jar统一管理.根据坐标(groupId,artifactId,version)去找jar包,本地,私服,中央仓库 b) 项目构建:通过命令构建.cle ...
- 纯干货!华为软件开发云编译构建之Maven
一.Maven介绍 Maven是一个项目管理和整合的工具.Maven为开发者提供了一套完整的构建生命周期框架.开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为Maven使用了一个标准的目 ...
- 「干货分享」模块化编程和maven配置实践一则
封面 说到模块化编程,对我个人而言首先起因于团队协作的需要,也就是组织架构结构特点来决定,而不是跟风求得自我认同,看看我们团队的组织结构: 其中: 基础平台部职责: 1.AI实验室:语音,图像 ...
- 项目管理01--使用Maven构建项目(纯干货)
目录 1. Maven基础知识 2. Maven实战.开发.测试.打包.部署一个Web项目 一.Maven基础知识 Maven坐标 Maven提供了一个中央仓库,里面包含了大量的开源软件的jar包,只 ...
- 基于分布式、服务化的maven项目文件规划
引言 此文不是纯粹介绍maven概念,而是介绍一个具体的maven项目文件规划 这个规划可能适合于研发比较复杂的业务,这些业务有分布式和服务化的需要. 这个规划能够解决因为分布式和服务化要求而引起的项 ...
- Maven学习总结(一)——Maven入门
原博文出自于:http://www.cnblogs.com/xdp-gacl/p/3498271.html 感谢! 一.Maven的基本概念 Maven(翻译为"专家"," ...
- 【转】IntelliJ IDEA2016.1 + maven 创建java web 项目
最近开始使用idea 来写java项目了,这个很流行,相比Eclipse方便了很多.功能多了,相对应的使用的复杂度也较高了,因为网上很多的使用和创建项目的简单教程,都是基于老版本的,每个新版本都有不一 ...
- JavaEE开发基于Eclipse的环境搭建以及Maven Web App的创建
本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...
- Maven学习专题--Maven入门及安装
因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...
随机推荐
- window.getSelection和document.selection
window.getSelection和document.selection IE9以下支持:document.selection IE9.Firefox.Safari.Chrome和Opera支 ...
- pyparsing:定制自己的解析器
在工作中,经常需要解析不同类型的文件,常用的可能就是正则表达式了,简单点的,可能会使用awk.这里要推荐一种比较小众的方式,使用pyparsing来解析文件. pyparsing可以做些什么呢?主要可 ...
- 将HTML导出生成word文档
前言: 项目开发中遇到了需要将HTML页面的内容导出为一个word文档,所以有了这边随笔. 当然,项目开发又时间有点紧迫,第一时间想到的是用插件,所以百度了下.下面就介绍两个导出word文档的方法. ...
- Java IO设计模式(装饰模式与适配器模式)
01. 装饰模式 1. 定义 Decorator装饰器,就是动态地给一个对象添加一些额外的职责,动态扩展,和下面继承(静态扩展)的比较.因此,装饰器模式具有如下的特征: 它必须持有一个被装饰的对象(作 ...
- 使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
下面程序使用了两种方法计算两个时间相差 天,小时,分钟,秒 package jodotest; import java.text.ParseException; import java.text.Si ...
- 爬取拉勾部分求职信息+Bootstrap页面显示
今天在用python实现爬虫的时候,就想看一下用c#实现同样的功能到底会多出来多少code,结果写着写着干脆把页面也简单的写一个出来,方便调试, 大致流程如下: 1.分析拉勾数据 2.查找拉勾做了哪些 ...
- webpack 多页应用架构系列实战
阅读目录 1.webpack配置了解 2.webpack CommonsChunkPlugin公共代码剥离 3.了解ProvidePlugin的用途 回到顶部 1.webpack配置了解 webpac ...
- multipath多路径实验01-构建iscsi模拟环境
multipath多路径实验01-构建iscsi模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很简单,职责划分也应是主机或存储工程师来搞定,DBA只需要直 ...
- 奔跑在Docker上的Spark
转自:马踏飞燕--奔跑在Docker上的Spark 目录 为什么要在Docker上搭建Spark集群 网络拓扑 Docker安装及配置 ssh安装及配置 基础环境安装 Zookeeper安装及配置 H ...
- Java中的clone()----深复制,浅复制
这篇文章主要介绍了Java中对象的深复制(深克隆)和浅复制(浅克隆) ,需要的朋友可以参考下 1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他 ...