maven(1)

一、我们创建的maven项目所用到的所有的jar包统统都在maven仓库中,而仓库地址在国外,所以需要将中央仓库的地址换成国内的地址,常常用阿里的镜像,另外,我们下载的jar包时,会将所有的依赖都下载到本地C盘,当需要大量的jar包的时候就特别酸爽。。所以需要改到D盘等磁盘空间大的地方。

修改setting.xml:

    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    <localRepository>D:/Program Files (x86)/jarBag</localRepository>

另外在写maven依赖的时候,可以参考maven仓库网站:

https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-apihttps://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api

二、常用的maven命令

maven命令格式:

//执行plugin-name插件的goal-name目标
mvn -[plugin-name]:[goal:name]
mvn -version显示版本信息
mvn clean清除项目生成的临时文件,一般在target文件夹下面比如编译的源码文件。
mvn compile编译源代码
mvn package项目打包成一个jar或者war包
mvn test测试命令,或执行junit的测试用例
mvn install将打包的jar或者war文件复制到本地,供其他模块使用
mvn depoly将打包的文件发布到哦哦远程参考,供他人下载依赖使用
mvn site生成项目相关信息的网站
mvn eclipse:eclipse将项目转化为eclipse项目
mvn dependency:tree打印出项目的整个依赖树
mvn archetype:generate创建Maven的普通java项目
mvn tomcat7:run在tomcat容器中运行web应用
mvn jetty:run调用jetty插件的Run目标在jetty Servlet容器中启动web应用

在eclipse中,除了在cmd里执行命令以外,还可以之间选中pom.xml文件,然后右键run as——>maven build——>输入目标点击运行即可。

当然在IDEA中,可以直接点开右侧的maven,然后选择想执行的命令即可:

三、三种项目

在创建maven项目的时候,项目的打包类型packaging可以选择jar包和war包和POM, 

1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。

2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务,相当于javaee项目(Java Platform,Enterprise Edition,Java ee是在 Java se的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序.)

3.jar工程:将会打包成jar用作jar包使用,packaging默认类型,相当于javase项目(java Standard Edition,Java标准版,就是一般Java程序的开发就可以(如桌面程序),可以看作是JavaEE的子集)。

四、仓库

对于maven,有两类仓库:本地仓库和远程仓库。当maven根据坐标(groupid和artifarctid)学着构件的时候,会首先查询本地仓库,如果本地没有就去远程仓库查找并下载到本地仓库使用。如果远程仓库也没有,maven才会报错。

远程仓库又可以分成中央仓库、私服、其他公共库。

中央仓库是默认配置下,maven下载jar包的地方。在国外,下载比较慢,一般我们不用它。

私服是一种特殊的远程仓库,为例节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。内部的项目还能部署到私服上供其他项目使用。公司内部建立私服的好处:节省自己的外网带宽、加速maven构建、部署第三方控件、提高稳定性、降低中央仓库的负荷。

其他公共课“比如阿里巴巴的仓库。

<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>central</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/comtent/groups/public</url>
</mirror>

五、maven环境下构建多模块项目

将项目划分成很多小模块。比如:

·maven_parent :基模块,父模块(pom)

·maven_dao:数据库的访问层,是一个普通的Java项目,例如jdbc操作(jar)

·maven_service:项目的业务逻辑层,也是一个普通的java项目(jar)

·maven_controller:用来接收请求,响应数据,是一个web项目(war)

maven_controller会引用maven_service中的类和方法,maven_service又会引用maven_dao的类和方法,即controller依赖service,service依赖dao。

步骤:

1.创建一个父项目maven_parent:

不用勾选

直接命名创建

2.在父项目下创建子项目:

  maven_dao和maven_service为普通quick start,maven_controller为webapp项目,三个都为maven_parent的子项目。

即,如果是普通的Java项目就直接创建为普通quick start,如果需要被浏览器访问就创建web项目。

3.设置模块之间的依赖关系

1)dao层:

新建一个包->在包下新建UserDao类->在类中添加方法

2)service层

添加maven_dao依赖->添加UserService类并添加方法(调用dao的方法)

3)controller层

t添加service模块依赖->添加Servlet依赖->新建java类,继承HttpServlet类,并重写servic方法,调用service层的方法->添加tomcat插件,启动项目。

4.启动

启动之前可以单独将每一个子项目install一下,最终再把父项目install。

 tips:要注意install的顺序

·依赖关系对安装顺序的要求:A依赖B,maven要求先安装B,再安装A。

·继承关系对安装顺序的要求:A(子工程)继承B(父工程),maven要求先安装B,再安装A。

对于上述例子,就要先install dao项目,再install service项目,再install controller项目。

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值