标签:pre inux junit 打包 手动 provided 加载 就是 image
目录
项目构建是一个项目从编写源代码到编译、测试、打包、部署、运行的过程
? 1)在IDE 中创建一个java web工程
? 2)在工程中编写源代码及配置文件等(配置环境 导包)
? 3)对源代码进行编译,java文件编译成class文件
? 4)执行Junit单元测试
? 5)将工程打成war包部署至tomcat运行
Mk
? maven将项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段,后面章节详细介绍每个阶段,这里先大概了解下:
清理阶段对应maven的命令是clean,清理输出的class文件
编译阶段对应maven的命令是compile,将java代码编译成class文件。
打包阶段对应maven的命令是package,java工程可以打成jar包,web包可以打成war包
1、一个命令完成构建、运行,方便快捷。
2、maven对每个构建阶段进行规范,非常有利于大型团队协作开发。
一个java项目可能要使用一些第三方的jar包才可以运行,那么我们说这个java项目依赖了这些第三方的jar包。依赖管理就是对项目所有依赖的jar包进行规范化管理。
(自己理解:就是管理要导入的jar包)
? 传统的项目工程要管理所依赖的包完全靠人工进行,程序员从网上下载包添加到项目工程中,就是原本我们那jar包导入WEB-INF/lib目录的操作。
maven项目通过往pom.xml(maven工程的配置文件)添加jar包的坐标,来自动从maven仓库中下载jar包,运行。
一步构建
? maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程。
依赖管理
? maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。
maven的跨平台,可在window、linux上使用。
maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。
Mk Linux
Gradle——intelj IDE Android
下载
从该网站 http://maven.apache.org/download.cgi 下载
解压
新增配置 MAVEN_HOME (就是maven的解压目录)
在dos窗口通过
==mvn -v命令==检查maven是否安装成功,看到maven的版本及java版本即为安装成功
maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A、项目B等都会通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因为本地仓库已经存在了,==可以将本地仓库理解为缓存==,有了本地仓库就不用每次从远程仓库下载了。
用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找
默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows用户目录。
将 “repository.rar”解压至自己的电脑上,
在MAVE_HOME/conf/settings.xml文件中配置本地仓库位置:
如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库(一般使用阿里的国内镜像)下载。
远程仓库可以在互联网内也可以在局域网内(例如一些保密单位不允许使用外网)。
maven仓库默认在国外,使用很慢,国内支持maven镜像的有阿里巴巴,开源中国(基本不用)等。
==注意:要在mirrors标签里配置mirror标签==
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。
配置中央仓库(基本不用):
<!-- 中央仓库在中国的镜像 -->
<mirror>
<id>maven.net.cn</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Project(必须掌握)
--src
? --main 开发部署的代码配置文件等文件
? --java 放的是代码
? --resources 配置文件及资源文件
? --webapp web项目的根目录
? --test 单元测试相关的文件
--java 放的是测试代码
? --resources 测试配置文件及资源文件(可以不要,可以使用main下的配置文件)
--pom.xml maven的配置文件
--target 文件夹,项目构建相关流程产生的文件,都放在这个目录下
mvn compile:完成编译操作
默认编译src/main/java,同时会把src/resources下的资源放在编译的输出目录target/classes,存放了编译后的字节码文件。
mvn clean :会将target目录删除。
mvn test:完成单元测试操作
mvn package:完成打包操作
mvn install:将我们的项目安装到==本地仓库==
在pom.xml中配置
<packaging>war</packaging>
不需要安装maven插件,idea自带有
不要使用模板
创建子工程的时候,在这里选择父工程,父工程的创建和普通工程创建的方式一样
创建好父子工程后:
作用和使用场景:
不希望在父工程里编码。具体的代码应该拆分到子工程。==父工程的主要职责是把不同的子工程聚合起来,合为一个工程==。
父工程里集中配置多个子模块里通用的jar包。
在父工程的pom.xml中抽取一些重复的配置的,比如:锁定jar包的版本、设置编译版本等。父工程定义的jar包子工程可以引用。
在父工程中导入依赖,子工程都可以使用
在该目下下找到指定文件:Maven_home/conf/setting.xml ,在里面新增节点
<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>
在配置pom.xml文件里的properties标签
<properties>
<!--key是我们的自定义标签-->
<!--spring.version=5.1.0.RELEASE-->
<spring.version>5.1.0.RELEASE</spring.version>
<mysql.version>5.1.14</mysql.version>
<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>
几个需要注意的点:
标签:pre inux junit 打包 手动 provided 加载 就是 image
原文地址:https://www.cnblogs.com/zhaoyuan72/p/11572046.html