maven使用及创建项目
一:简单介绍
他是一个帮我们管理jar,并帮助我们处理jar包依赖。
他是一个我们编译、测试、运行、打包的一键构建。

我们在使用后面的命令的同时,前面的过程也自动执行。
二、仓库的分类:

分本地仓库、远程仓库和中央仓库。
本地仓库的配置文件在:
maven项目的目录结构:

在我们创建的项目的时候,java和resources目录是不存在的。需要手动创建。
三、maven的命令:
compile
compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。
cmd进入命令状态,执行mvn compile,如下图提示成功:

查看 target目录,class文件已生成,编译完成。

test
test是maven工程的测试命令,会执行src/test/java下的单元测试类。
cmd执行mvn test执行src/test/java下单元测试类,下图为测试结果,运行1个测试用例,全部成功。

clean
clean是maven工程的清理命令,执行 clean会删除target目录的内容。
package
package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。
install
install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库。
从运行结果中,可以看出:
当后面的命令执行时,前面的操作过程也都会自动执行。

四、IDEA创建maven项目:
1)

2)

点击next

点击next

点击next

点击finish
完成之后右下角:
创建的进度。
完成之后:右下角点击自动导入

创建完之后项目的目录:

只有webapp。没有java和resources目录 。
我们点击:


点击module的Sources。



新建的java,目录变成蓝色。
同理创建resources目录 不过右击的时候点击的是:

然后在看新创建的目录:有独有的标识。

然后点击apply -->ok
这样咱们的maven的项目的 创建完。
如何添加依赖呢?
打开pom.xml,点击标签:<dependencies> 然后录Alt+insert 快捷键出现:

然后点击Dependency:


点击我们想要的jar版本。

点击add
在pom.xml文件就自动添加了我们想要的依赖:

这样就添加我们的依赖,一般情况我们将现成的pom.xml文件直接使用避免一个一个导入。
五、配置tomcat:


添加本地的tomcatserver。

六、我们在java中写个简单的servlet。
创建一个servlet:
package com.jd.test;
import java.io.IOException;
public class ServletTest extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().print("这是一个测试页面!");
}
}
web.xml配置:

七:如果本地仓库没有,怎么添加jar包到本地仓库?
命令如下:
mvn install:install-file -Dfile=C:\Users\Administrator\commons-pool2-2.5..jar -DgroupId=org.apache -DartifactId=commons-pool -Dversion=-2.5 -Dpackaging=jar
八:当我们引入的依赖比如说spring4.0的时候相关的jar包会重复出现版本号4.0 这个时候我们可以定义属性,来进行变量设定。
<properties>
<spring.version>4.2..RELEASE</spring.version>
<struts2.version>2.3.</struts2.version>
<hibernate.version>5.0..Final</hibernate.version>
<slf4j.version>1.6.</slf4j.version>
<log4j.version>1.2.</log4j.version>
<shiro.version>1.2.</shiro.version>
<cxf.version>3.0.</cxf.version>
<c3p0.version>0.9.1.2</c3p0.version>
<mysql.version>5.1.</mysql.version>
</properties>
其中标签内的<c3p0.version>这个内容可以随便定义,可以定义xx在引用的时候,直接${xx}引用即可。
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>${c3p0.version}</version>
</dependency>
maven使用及创建项目的更多相关文章
- Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:...
使用maven3.3.9 版本,进行命令行创建项目时输入以下命令创建失败 mvn archetype:create -DgroupId=com.zang.maven -DartifactId=sys ...
- 老大说新项目的结构和 xxx 项目一样就可以了,我 ……(使用 Maven Archetype 快速创建项目)
前言 又要开发新项目了,还是创建新项目,怎么办?老大说按照 xxx 项目的结构创建一个新项目就可以了. 公众号:liuzhihangs,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻 ...
- maven命令行创建项目问题
今天在命令行下创建maven项目,使用的是create命令,但是一直失败,网上查找原因说archetype:create命令已经过期,需要使用 archetype:generate 来进行代替 加上了 ...
- maven eclipse配置 创建项目
下载maven jar 可以去官网http://maven.apache.org/ 或者我的百度云http://download.csdn.net/detail/taopeng_100/9894787 ...
- Maven创建项目
Maven创建项目 Maven翻译成中文是『专家.内行』.Maven是Apache组织中一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理的优秀工具 本文将 ...
- Maven创建项目时出现Generating project in Interactive mode就一直卡住的解决方案
使用maven命令在创建项目的时候出现 Generating project in Interactive mode 然后就一直卡住 网上搜做了很多解决方案 有说各种方案的,最后找到了一种.实验成功 ...
- Maven自定义绑定插件目标:创建项目的源码jar
<build> <plugins> <!-- 自定义绑定,创建项目的源码jar --> <plugin> <groupId>org.apac ...
- 配置Maven环境并创建简单的web项目步骤
Maven的介绍 主要包含以下三个内容: 1.POM(Project Object Model):即An xml file(pom.xml):依赖管理.生命周期和插件的需要等都在pom.xml文件中完 ...
- Maven入门学习,安装及创建项目
一.maven介绍: 1.maven是一个基于项目对象模型(POM Project Object Model),通过配置文件管理项目的工具(项目管理工具). 2.maven主要功能:发布项目(从编译到 ...
随机推荐
- EF Codefirst(二)数据注释
CodeFirst通过分析我们在代码里编写的类,以及类之间的关系生成数据库表,以及表之间的各种关系.数据库的表会涉及到主键,外键,列是否为空,列类型等等. 我们要通过怎样的方式来暴露这些信息呢? ...
- 关于子元素的margin-top对父级容器无效
如果不想看那么长,看下面这句话就好了. 刚开始我没看到这个总结时一直是使用自己摸索出来paddin-top解决,发现该方式并不好.亲测给父级加一个overflow不为visiable的属性就直接解决了 ...
- Vue中改变对象的注意事项
数组更改注意事项 Vue无法检测到以下方式变动的数组 当你利用索引直接设置一个项时,例如:vm.items[index] = newValue 当你修改数组的长度时,例如:vm.items.lengt ...
- PHP 基础总结
PHP(Hypertext Preprocessor)是一种被广泛应用的开源通用脚本语言,尤其适用于Web开发.可用于服务端脚本.命令行脚本.桌面应用程序三大领域. PHP 的 SAPI(服务器应用程 ...
- ActiveReports 报表控件V12新特性 -- 新增矩表的RepeatToFill属性
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- Lodash学习笔记
有多年开发经验的工程师,往往都会有自己的一套工具库,称为utils.helpers等等,这套库一方面是自己的技术积累,另一方面也是对某项技术的扩展,领先于技术规范的制订和实现. Lodash就是这样的 ...
- AWS CSAA -- 04 AWS Object Storage and CDN - S3 Glacier and CloudFront(二)
015 Version Control - Lab 016 Cross Region Replication 017 Lifecycle Management Glacier - Lab 018 C ...
- LeetCode题解之 Sum of Left Leaves
1.题目描述 2.问题分析 对于每个节点,如果其左子节点是叶子,则加上它的值,如果不是,递归,再对右子节点递归即可. 3.代码 int sumOfLeftLeaves(TreeNode* root) ...
- SQL Server 如何设置数据库的默认初始大小和自动增长大小
我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小.自动增长大小和最大大小,如下图所示: 可以通过设置更改数据库初始大小.自动增长大小和最大大小: 但是其实在SQL ...
- mysql INSERT的几个语法 IGNORE|REPLACE|LOW_PRIORITY | DELAYED
INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据.这样就可以保留 ...