您的位置:首页 > 其它

Maven项目开发生命周期

2018-10-30 14:55 197 查看

编程生命周期

编码

1.1 依赖jar包问题
1.2 代码版本问题 代码更新问题
XXXXXXXXX
1.3 单元测试

编译

javac编译
eclipse编译(直接自动编译 整个项目的源代码)

项目(project)

源代码聚合在一起 相同的功能在同一个项目
simple project(简易项目)
JAVA PROJECT
WEB PROJECT

发布部署

JAVA PROJECT
打包:jar
java -jar jar包运行
WEB PROJECT
打包:war
tomcat中运行

集成测试

运维

maven(编程生命周期管理工具)

学习文档 :
http://maven.apache.org/users/index.html#
中文文档:
https://book.huihoo.com/maven-the-definitive-guide/index.html
教程:
http://www.runoob.com/maven/maven-tutorial.html

maven特点

maven使用项目对象模型(POM Project Object Model)管理项目
约定优于配置 约定好目标项目的格式 源代码位置 配置文件位置
–src
----main
--------java
--------resources
–pom.xml

maven安装

1下载apache-maven-3.53 https://archive.apache.org/dist/maven/maven-3/
2 解压 将bin目录添加到环境变量 PATH中
3 解压镜像包(1G)
找到maven安装目录/conf/setting.xml 添加
E:\升华课程\linux\maven\repo

maven常用命令

创建项目

mvn archetype:generate
1271 java项目
1275 web项目

项目标识

开发公司:groupid   域名.公司名  cn.ps
项目名称  artifictid
版本号

编译

进入 pom.xml同级的目录
mvn compile

打包

进入pom.xml同级的目录
mvn package
jar包
war包
使用tomcat6运行 注意只支持javaee5
mvn -Dmaven.tomcat.port=8081 tomcat:run
使用tomcat7运行 支持javaee6
mvn -Dmaven.tomcat.port=8080 org.apache.tomcat.maven:tomcat7-maven-plugin:run

其他maven命令

mvn install 安装到maven仓库中
mvn deploy 发布到远程仓库中
mvn eclipse:eclipse 生成eclipse的

运行

jar包 java -cp jar包名 带有main方法的类
war成 mvn tomcat:run
mvn jetty:run 不支持
mvn org.mortbay.jetty:jetty-maven-plugin:run

项目的坐标

cn.ps 公司名称
MAVEN_WEB 项目名称
0.0.1-SNAPSHOT 版本号
war 打包的类型

关于版本号

<major version>.<minor version>.<incremental version>-<qualifier>

主版本一次+1 发生重大更新
次版本一次+1 发生了模块变化 新增小功能 减少了某些功能
增量版本 发生了修复简单bug
限定版本 SNAPSHOT(开发中)|LATEST(引用最近版本)|RELEASE(发布)

maven仓库

》》超级pom执行命令:mvn help:effective-pom

》》私服 (代理)
maven中央仓库 https://repo.maven.apache.org/maven2
阿里巴巴私服 http://maven.aliyun.com/mvn/view
著名私服列表 https://mvnrepository.com/repos
》》搜索jar的maven坐标
http://maven.aliyun.com/mvn/search
https://mvnrepository.com/ 推荐
https://oss.sonatype.org/#welcome 发布jar包到中央仓库

关于maven依赖需要解决问题

多项目的版本冲突问题

同一个项目中pom的版本冲突

<properties>
<MYSQL-VERION>6.0.2</MYSQL-VERION>
</properties>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${MYSQL-VERION}</version>
</dependency>

跨项目解决版本冲突问题
》》继承(不推荐)继承了父pom的依赖

<parent>
<groupId>cn.pk</groupId>
<artifactId>MAVEN_PARENT</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

父pom定义

<properties>
<MYSQL_VERSION>6.0.3</MYSQL_VERSION>
</properties>

子项目中引入依赖

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${MYSQL_VERSION}</version>
</dependency>

一旦在父pom中修改了变量名 所有的子pom都需要修改

》》依赖管理 多继承 (不能继承变量和父pom的依赖) 管理版本号
父pom中定义所有的依赖的版本 不会下载jar包

<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${JSTL_VERSION}</version>
</dependency>
</dependencies>
</dependencyManagement>

子pom需要继承 同时不再需要带版本号

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

代码量大(拆分 多模块项目

项目划分为多模块

alt+shift+v

注意模块项目
编译过程 直接从项目中找
mvn 运行过程 直接从仓库中找
mvn install 自己仓库同打包
mvn deploy 中央仓库

mvn clean 清除项目

设置乱码

<build>
<plugins>
<plugin>
<groupId
20000
>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>

</build>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: