Maven
- settings.xml与仓库
- settings.xml配置本地仓库
<localRepository>/path/to/local/repo</localRepository>
- pom.xml为maven的核心文件, 用于保存maven的元信息, 指明maven如何运行, pom.xml放在项目的根目录下
在pom.xml中
- groupid标签为包名
- artifact标签为模块(一个maven工程, 有pom.xml)
- version版本
| <dependency> |
| <groupId>org.bux.maven</groupId> |
| <artifactId>demo</artifactId> |
| <version>1.0.2 SNAPSHOT</version> |
| </dependency> |
| |
| 他们构成了坐标 |
| 对应的目录是: org/bux/maven/demo/1.0.2/*.jar |
| |
使用maven创建项目
- 创建一个工作空间
- mvn命令创建
去互联网上拷贝即可
- mvn构建项目第一次执行时会下载一些组件, 结束之后就会一个maven工程目录src/main, src/test
对项目进行管理(在pom.xml所在位置)
- 编译
mvn compile
--> 生成target文件夹, 有一个classes在里面
- 测试
mvn test
步骤: 先编译后执行 --> 在target中生成test-class文件夹
- 清理
mvn clean
将编译文件清楚, 之后只剩下src文件夹
- 打包
mvn package
- 发布安装
mvn install
自动打包成jar并发布
- 发布到服务器(tomcat, jboss)
mvn deploy
--> 一般线上使用
将maven转为eclipse的project
将maven转为idea的project
启动tomcat
关于仓库
- effective pom.xml = super pom.xml + user-define pom.xml, 模块中的pom集成parent的pom, 就是模块与父目录, 但是一般有子模块会在dependencies上有一个dependencyManagement标签
java开发流程
maven实现多模块
| <modules> |
| <module>name</module> |
| <module>name</module> |
| </modules> |
父目录管理子模块常用的配置(主要采用dependencyManagement标签统一管理版本)
| |
| 使用dependencyManagement可以统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,不用每个模块项目都弄一个版本号,不利于管理,当需要变更版本号的时候只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目需要另外一个特殊的版本号时,只需要在自己的模块dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,不继承于父类版本号。 |
| |
| <property> |
| <spring-core.version>1.1.1</spring-core.version> |
| <property> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <version>${spring-core.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagemet> |
| |
| |
| 在子模块中指明 |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| </dependency> |
| |
| |
| 在父目录中导入子模块的包 |
| <dependencies> |
| <groupId>submodule-groupId</groupId> <artifactId>submodule-artifactId</artifactId> |
| <version>1.1.1</version> |
| </dependencies> |
防止版本冲突
| <property> |
| <log4j.version>1.1.1</log4j.version> |
| </property> |
| |
| 引用${log4j.version} |
| |
搭建私服
方法一
方法二
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 如何打造一个高并发系统?
· 《SpringBoot》EasyExcel实现百万数据的导入导出