zoukankan      html  css  js  c++  java
  • 使用Maven构建JavaEE项目

    学习要点

    • Maven简介
    • Maven构建项目
    • MyEclipse中Maven的使用

    Maven简介

    Maven作用

    • 对第三方依赖库进行统一的版本管理
    • 统一的目录结构,统一各平台各IDE目录
    • 统一的软件构建阶段

    Maven是项目构建工具

    • 定义项目的组成、管理项目依赖和发布

    下载Maven

    • 下载地址:http://maven.apache.org/download.cgi

    安装Maven

    设置系统环境变量

    新增MAVEN_HOME变量,值:D:apache-maven-3.5.2

    PATH添加 %MAVEN_HOME%in;

    验证安装

    使用命令:

    mvn help:system    //推荐设置完成maven的settings.xml文件后再执行
    

      

    或者:

    mvn -v
    

      

    Maven构建项目

    Maven运行环境配置文件settings.xml

    • 定义Maven的全局环境信息

    范围

    • 全局范围:D:apache-maven-3.5.0confsettings.xml
    • 用户范围:C:UsersAdministrator.m2settings.xml
    • 读取配置:全局范围和用户范围的并集。用户优先级高。一般修改用户配置文件。

    仓库

    本地仓库:

    • 使用localRepository元素更改

    远程仓库:

    • 中央仓库:https://repo.maven.apache.org/maven2/
    • 镜像仓库:使用mirrors元素添加
    • 推荐使用阿里云镜像仓库,在用户settings.xml添加以下镜像
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror><mirror>
      <!--This is used to direct the public snapshots repo in the profile below over to a different nexus group -->
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
    </mirror>
    

       

    JDK版本修改:

    默认为1.4,<profiles>节点中增加以下节点配置

    	<profile>
    		<id>jdk-1.8</id>
    		<activation>
    			<activeByDefault>true</activeByDefault>
    			<jdk>1.8</jdk>
    		</activation>
    		<properties>
    			<maven.compiler.source>1.8</maven.compiler.source>
    			<maven.compiler.target>1.8</maven.compiler.target>
    			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    		</properties>
    	</profile>
    

      

    Maven项目配置文件pom.xml

    节点

    含义

    project

    POM文件的顶级元素

    modelVersion

    POM模型版本。描述pom文件所遵循的POM版本。一般填写为4.0.0

    groupId

    项目组织的唯一标识。通常是域名倒写。

    artifactId

    项目唯一标识。对应项目名称。

    version

    artifact的版本。groupId、artifactId、version三者唯唯一确定artifact。

    packaging

    默认值是jar。标识maven会将项目打包成一个jar。

    dependencies

    表示依赖,在子节点dependency中添加具体依赖的项目。

    build

    构建选项

    Maven命令

    • 常用命令

    命令格式

    功能

    mvn archetype:generate

    创建maven项目

    mvn compile

    编译源代码

    mvn test-compile

    编译测试代码

    mvn test

    运行测试

    mvn package

    打包项目

    mvn install

    安装到本地仓库

    • 使用maven命令构建一个控制台项目

    1.创建maven调试临时目录E:TempMaven,在cmd窗口进入该目录

    2.选择创建项目类型(从远程获取或者从本地选择)

    • 远程获取:mvn archetype:generate –x  #-x用于查看调试信息
    • 本地选择:mvn archetype:generate –DarchetypeCatalog=internal

     

    3.本地选择7——quickstart项目类型(控制台)。输入POM项目信息

    4.生成标准maven项目

    5.编译HelloWord项目

        进入HelloWord目录,mvn编译命令需要依赖POM.xml文件。

        编译成功

    6.测试编译完成的HelloWord项目

        输入命令mvn test进行测试,获得测试结果。

        测试结果分析:

    7.打包HelloWord项目

        打包成功,获得项目jar文件

     

    8.运行HelloWord-1.0.jar项目

    • 使用install命令安装java类库到本地仓库

        例如ojdbc6.jar无法在远程仓库获取,需要手动安装到本地仓库。

      1.把odjdbc6.jar从Oracle安装目录拷贝到Temp(便于安装)

      2.输入以下安装命令(需要取消换行)

    mvn install:install-file -Dfile=e:Tempojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar -DgeneratePom=true

      3.进入本地参查看安装完成情况

    Maven4MyEclipse插件的使用

    • 创建web项目

    创建Maven项目。

    • 添加web项目依赖

    查找依赖官网:http://mvnrepository.com/

    • 项目部署

    部署到tomcat,和非maven项目无差异。

    • junit测试

    Maven项目测试需要修改项目属性。非maven工程的项目编译后的.class文件会在/webapp/WEB-INF/classes目录下;maven工程项目编译后的.class文件应该是在/target目录下,源代码的输出应该是/target/classes目录,而测试代码的输出则应该是/target/test-classes目录。修改如下图所示: 

     

    • 项目打包

    项目run as  à  run Configurations使用内置的maven打包。

    myeclipse 10.6和myeclipse2014 无法与maven 3.5 兼容。

    解决方案:将maven3.5 调低如maven3.2.2 即可。

    Maven标准目录结构

    目录

    说明

    src/main/resources

    资源文件目录。例如application.xml、struts.xml

    src/main/java

    Java源代码目录。

    src/test/java

    测试用例代码目录。

    src/test/resources

    测试用例相关资源目录。

    src/main/webapp

    Web项目根目录。

    target

    编译构建输出目录。



    本博客文章未经许可,禁止转载和商业用途!

    如有疑问,请联系: 2083967667@qq.com


  • 相关阅读:
    PAT (Advanced Level) Practice 1100 Mars Numbers (20分)
    PAT (Advanced Level) Practice 1107 Social Clusters (30分) (并查集)
    PAT (Advanced Level) Practice 1105 Spiral Matrix (25分)
    PAT (Advanced Level) Practice 1104 Sum of Number Segments (20分)
    PAT (Advanced Level) Practice 1111 Online Map (30分) (两次迪杰斯特拉混合)
    PAT (Advanced Level) Practice 1110 Complete Binary Tree (25分) (完全二叉树的判断+分享致命婴幼儿错误)
    PAT (Advanced Level) Practice 1109 Group Photo (25分)
    PAT (Advanced Level) Practice 1108 Finding Average (20分)
    P6225 [eJOI2019]异或橙子 树状数组 异或 位运算
    P4124 [CQOI2016]手机号码 数位DP
  • 原文地址:https://www.cnblogs.com/rask/p/8277952.html
Copyright © 2011-2022 走看看