dev
dev
true
qa
qa
pre
pre
prod
prod
…
config/${env}.properties
src/main/resources
true
…
解释说明:profiles
定义了各个环境的变量 id , filters
中定义了变量配置⽂件的地址,其中地址中的环境
变量就是上⾯ profile 中定义的值, resources
中是定义哪些⽬录下的⽂件会被配置⽂件中定义的变
量替换。
通过maven可以实现按不同环境进⾏打包部署,例如:mvn package -Pdev -Dmaven.test.skip=true
表示打包本地环境,并跳过单元测试
====================================================================================
选择 “File” —> “New Projects Settings / Other Settings” —> “Settings for New Projects…” —> 搜索 “Maven”
注意:点Apply后,记得点OK
==============================================================================
6.1.1. 新建项⽬
1)选择 “File” —> “New” —> “Project”
2)选择"Maven",设置JDK版本,选择maven项⽬的模板
3)设置项⽬的 GroupId 和 ArtifactId
4)检查Maven环境,选择 “Finish”(之前配置了环境)
5)等待项⽬创建,下载资源,创建完成后⽬录结构如下
注:右下⻆弹出的提示框,选择 “Enable Auto-Import”(Maven启动⾃动导⼊)
6)如果需要用 resources资源目录 就手动创建
- main目录下
- test(测试环境)目录下也有
6.1.2. 编译项⽬
1)点击右上⻆的 "Add Configurations ",打开 “Run/Debug Configurations” 窗⼝
2)点击左上⻆的 “+” 号,选择 “Maven”
3)设置编译项⽬的命令,先Apply后OK
4)执⾏编译命令,两个图标分别代表"普通模式"和"调试模式"
5)编译成功
6.2.1. 创建项⽬
**1)创建Web项⽬与创建Java项⽬步骤基本⼀致,区别在于选择 Maven模板(web项⽬选择
webapp),如图:**
注意:其他步骤与创建普通的Java项⽬相同。
2)项⽬⽬录结构如下:
6.2.2. 修改配置文件
修改 JDK 的版本
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
设置单元测试的版本
junit
junit
4.12
test
删除pluginManagement标签
…
添加web部署的插件
在 build 标签中添加 plugins
标签,插入下面内容
- Jetty插件
org.mortbay.jetty
maven-jetty-plugin
6.1.25
10
/test
<connector
implementation=“org.mortbay.jetty.nio.SelectChannelConnector”>
9090
- Tomcat插件
org.apache.tomcat.maven
tomcat7-maven-plugin
2.1
8081
UTF-8
tomcat7
6.2.3. 启动项⽬
1)点击右上⻆的 "Add Configurations ",打开 “Run/Debug Configurations” 窗⼝
2)点击左上⻆的 “+” 号,选择 “Maven”
3)Jetty插件配置
4)点击启动图标,启动服务
5)启动成功
6)浏览器效果如下
7)Tomcat插件配置
8)启动⽅式如上,启动成功
9)浏览器效果如下
Maven依赖仓库:https://mvnrepository.com/
Tomcat7插件的命令:https://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/plugin-info.html
================================================================================
当第⼀次运⾏Maven命令的时候, 你需要Internet链接, 因为它需要从⽹上下载⼀些⽂件。 那么它从哪⾥下载呢? 它是从Maven默认的远程库下载的。 这个远程仓库有Maven的核⼼插件和可供下载的jar⽂件。
对于Maven来说, 仓库只分为两类: 本地仓库和远程仓库。
当Maven根据坐标寻找构件的时候,它⾸先会查看本地仓库,如果本地仓库存在,则直接使⽤; 如果本地没有,Maven就会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使⽤。 如果本地仓库和远程仓库都没有,Maven就会报错。
远程仓库分为三种: 中央仓库,私服, 其他公共库。
中央仓库是默认配置下,Maven下载jar包的地⽅。
私服是另⼀种特殊的远程仓库,为了节省带宽和时间,应该在局域⽹内架设⼀个私有的仓库服务器,⽤其代理所有外部的远程仓库。 内部的项⽬还能部署到私服上供其他项⽬使⽤。
⼀般来说,在Maven项⽬⽬录下,没有诸如lib/这样⽤来存放依赖⽂件的⽬录。 当Maven在执⾏编译或测试时,如果需要使⽤依赖⽂件,它总是基于坐标使⽤本地仓库的依赖⽂件。
默认情况下, 每个⽤户在⾃⼰的⽤户⽬录下都有⼀个路径名为.m2/repository/的仓库⽬录。 有时候,因为某些原因(⽐如c盘空间不⾜),需要修改本地仓库⽬录地址。
对于仓库路径的修改,可以通过maven 配置⽂件conf ⽬录下settings.xml来指定仓库路径
E:/maven/address
由于原始的本地仓库是空的,maven必须知道⾄少⼀个可⽤的远程仓库,才能执⾏maven命令的时候下载到需要的构件。中央仓库就是这样⼀个默认的远程仓库。
maven-model-builder-3.3.9.jar maven⾃动的 jar 中包含了⼀个 超级POM。定义了默认中央仓库的
位置。
中央仓库包含了2000多个开源项⽬,接收每天1亿次以上的访问。
私服是⼀种特殊的远程仓库,它是架设在局域⽹内的仓库服务, 私服代理⼴域⽹上的远程仓库,供局域⽹内的maven⽤户使⽤。 当maven需要下载构件时, 它去私服当中找,如果私服没有, 则从外部远程仓库下载,并缓存在私服上, 再为maven提供。
此外,⼀些⽆法从外部仓库下载的构件也能从本地上传到私服提供局域⽹中其他⼈使⽤配置⽅式项⽬pom.xml 配置
true
public
Public Repositories
http://192.168.0.96:8081/content/groups/public/
getui-nexus
http://mvn.gt.igexin.com/nexus/content/repositories/releases/
公司内部应该建⽴私服:
-
节省⾃⼰的外⽹带宽
-
加速maven构建
-
部署第三⽅控件
-
提⾼稳定性
-
降低中央仓库的负荷
常⽤的阿⾥云仓库配置
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
===================================================================================
使⽤maven 提供的多模块构建的特性完成maven 环境下多个模块的项⽬的管理与构建。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-o3MULOcK-1712323771083)]
最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
[外链图片转存中…(img-ngWa4YDY-1712323771083)]
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
[外链图片转存中…(img-TdJtAOjK-1712323771083)]
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算