新建maven工程及使用maven工程的原因
文章目录
Java包下载问题
今后的Java包数量会更加庞大, 每个包有不同的官方网站, 下载需要很多时间
Java包依赖问题
为提升效率,Java包的数量越来越多,且Java包依赖另一个包,且不同Java包所依赖的包还有可能产生冲突
maven
概念:项目管理和生命周期维护工具
maven是一个使用Java编写的程序,使用maven之前需安装jdk
maven只需要下载之后解压即可
使用maven之前需要在环境变量当中设定MAVEN_HOME,并且要将maven文件下的bin文件路径添加到环境变量中的path中
maven repostitory
maven仓库
里面存放世界上较为出名的Java包,并且将这些包的所有的依赖关系写清楚
例如:只要向仓库请求1.1版本的a,就会将a的依赖包全部显示,下载安装,而不用访问官网
即使要修改a的版本,只要提交修改版本的指令,a的版本就会被更新,并且相关依赖包有变动的也会修改
maven的功能
1.包管理机制
2.标准的工程结构
世界上有多中编译器,每种编译器产生的工程结构都不相同,进而导致不同编译器产生的工程无法导入其他编译器,造成不便
maven项目的出现解决了这种问题,使得一个项目可以导入多个编译器并编辑
maven认为一个工程分为主代码和测试代码
使用maven(eclipse中)
通过eclipse中的插件M2E对maven进行使用
M2E安装
M2E插件在eclipseEE版当中是自带的无需安装
M2E配置
点击Window->Preference->maven->installation->Add
浏览目录选择maven解压后的文件夹,添加之后回到installation界面,勾选刚刚添加的maven
注:eclipse自带一个内嵌的maven,但不建议使用
在maven的主路径下选择conf,文件夹里有名为setting.xml的文件夹
右键用文本编辑器打开(sublime,vs code即可)
在其中找到mirrors一栏,添加下列代码,用于添加阿里镜像仓库(maven的中央仓库位于美国,连接下载不方便)
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
并保存
返回eclipse中的Preference窗口,在左侧侧边栏选择User Setting
将全局配置文件和用户配置文件设定为我们刚刚编辑过的setting.xml文件夹
新建maven工程
点击file->new>maven project
勾选create a simple project(skip archetype selection)
点击next
设置新建的maven工程的坐标
- 设置组织机构id 例如:edu.mju
- artifact id(人造物 id) 项目的名称
- version(版本号)
- Parent Project表示的是该组件的父组件
- 点击finish
配置maven工程
在新建的maven工程中,我们会看到两种颜色的文件夹(各两个)
注: eclipse的版本为:
Eclipse IDE for Enterprise Java Developers (includes Incubating components)
Version: 2020-09 (4.17.0)
Build id: 20200910-1200
一种颜色代表的是主文件夹
另一种颜色代表的是测试文件夹
每种颜色的文件夹都有两个,一个存放源码,一个存放源码所依赖的资源
使用嵌面视图为maven工程增加功能
此时的maven工程没有开发web的能力,我们需要对工程进行配置,进而为该maven工程增加开发web的能力
右键点击maven工程
选择Configure->Convert to Faceted From(转化为嵌面视图表单)
此时我们发现Project Facets只是勾选了一个java,表示此时的maven工程只有普通Java工程的能力
我们想要的是动态web工程的能力,因此我们勾选动态web工程,Version选择3.1,JavaScript也勾选上,方便网页的界面设计
但是web工程还需要tomcat的支持,因此我们把目光转向右边的Runtimes,选择tomcat,没有选项就自己新建一个
注:tomcat需要下载,此处默认已经下载安装完毕
点击Apply,完成应用
此时我们选择将WebContent重命名为webapp,并将该文件夹移动到main文件下(此时webapp中的文件也属于源文件,因此存放至main文件夹中)
完成移动后我们发现webapp文件下的MEB-INF文件中的web.xml文件不见了???
别怕,不要慌
右键点击项目 Java EE Tools->Generate Deploment Descriptor Stub,就可以重新生成web.xml
添加spring-webmvc包
在webapp目录下新建一个jsp文件名为test.jsp,在文件的body标签中随意写几个字 例如: test now!!!
之后点击保存
打开pom.xml
在project标签里的最后一行添加下列代码(指令):
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
</dependencies>
上述代码提供了我们所需要的包的组织机构,及项目的id还有版本
(很熟悉对吧,是这样的,maven规定每个人写的maven文件都可以上传到maven仓库作为一个包,所以要求每个maven文件都设置有组织id,项目id,还有版本名称)
(注意:并不是要求每个maven文件都必须上传,只是"可以",一般大家自己用的项目文件都不上传的,而且进maven仓库应该还要审核,不能随便进)
设置maven打包
右键点击项目选择Properties,点击Deployment Assembly(部署组装)
移除test的文件
选择add,添加maven库文件