Maven项目开发生命周期
编程生命周期
编码
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>
- 解决使用intellij idea开发MAVEN项目在target目录下不存在mapper.xml文件
- 微信开发准备(一)——Maven仓库管理新建WEB项目
- Maven项目的生命周期
- maven的常用命令和maven项目的生命周期
- 使用myeclipse开发工具新建maven项目方式二并解决只有src/main/resources问题
- 在Eclipse中开发Maven-web项目时报错:maven-archetype-webapp
- JavaEE项目开发--基础篇-1--JavaEE开发之SSH+maven开发规范小结(规范就是标准,不容小视)
- Intellij idea搭建maven+springMVC开发项目(二)
- spring+springmvc+hibernate架构、maven分模块开发样例小项目案例
- Maven——step0-T3-Maven项目的生命周期&插件管理
- JAVA Web 项目开发笔记(2) ----- springMVC, maven,reactJs
- 转:IntelliJ IDEA 12 中用 Maven + Jetty 来开发Web项目
- 解决使用intellij idea开发MAVEN项目在target目录下不存在mapper.xml文件
- 使用Myeclipse2014开发Maven项目错误汇总
- Maven项目开发过程中问题集锦
- 第二章 企业项目开发--maven父子模块
- maven 父子项目 聚合与继承 生命周期 打包插件 依赖打包 jar pom war
- Maven实战(五)使用maven开发的项目,如何更方便地提取第三方包
- SpringMVC+Hibernate 项目开发之二 (STS整合Maven)
- Maven项目初开发(二)定时任务的开发