使用IDEA创建的Maven项目可分为Maven的Java项目和Maven的Web项目。
一、创建Maven的Java项目
(一)、通过骨架创建Maven的Java项目
1、点击Create New Project创建新项目
如果进入了IDEA,也可以点击File——>New——>Project
2、选择创建maven项目
- 图3左侧可以看到IDEA中列出可以创建很多类型的项目。这里选择Maven,因为我们要创建一个Maven的Java工程。
- 然后选择工程所需的JDK环境。
- 最后我们选择IDEA为我们提供的一些骨架(archetype)。
简单解释一下骨架(archetype)
IDEA为我们提供很多直接可以创建Maven工程的骨架,也叫模板。如果要使用这些骨架,需要联网,在项目创建的时候会下载骨架需要的一些资源和插件。同时还要勾选页面中的Create from archetype,就可以选择下方列表中的骨架了。
这个是IDEA为maven提供好的创建java工程的骨架。
创建Maven的Java项目我们一般用maven-archetype-quickstart。而创建Maven的Web项目一般选用maven-archetype-webapp。(就说到这里,如有需要大家单独的去了解一下)
3、填写项目的GroupId跟ArtifictId
Groupid :公司或组织的域名倒序+当前项目名称
Artifactld:当前项目的模块名称(hellomaven java_archetype)
Version :版本号说明一下:
Groupid 也表示当前创建的项目所在的坐标,我们都知道一个jar包的坐标有三个最基本的元素组成,这三个最基本的元素就是Groupid、Artifactld、Version 。
以后在学习Maven的命令的时候,用到mvn install的时候就会理解他的作用。
4、进入Maven环境的配置
图5界面中的信息是再一次让我们确定当前使用的MAVNE环境。
- 第一个,是否要使用你当前本地安装的Maven,选择你需要的mavne目录。
- 第二个,选择你要使用的settings的配置文件。
- 第三个,定义本地仓库的位置,也就是当IDEA编译或者运行的时候,去从哪个地址找jar包。
- 最下面是一些配置信息,不用做改变。
5、填写项目的名称和地址
- Project name:填写项目的名称。
- Project location:把项目放在哪个一目录下。
- 下边信息不用做任何修改,点击finish。
6、创建完成
如果是你初次创建Maven工程,速度会相当慢,因为要从网上下载,创建Maven工程的骨架所需要的插件。如果本地已经有了相关插件,而且你已经配置好,可以从本地寻找资源的位置,那么速度相对来说会快很多。
现在一个Maven的java工程就创建完成了。
7、创建好的工程目录结构
我们会发现Maven工程的目录结构并不完整,因为IDEA默认不会把maven的标准目录创建完整,需要自己手动补全。如图7;
大家可以看到,在main和test目录下都少了配置资源文件夹,就是放配置文件的文件夹。
因为IDEA会把用到的目录结构创建出来,其余的目录他不会创建,而且IDEA会自动把你填写的公司或组织的名称作为你的包路径,并且还给大家提供了一个直接可以测试通过小Demo。
如果要添加配置文件的资源文件夹,就需要手动把目录结构进行补齐,有两种方式
-
方式一
main文件夹上右键,new一个Directory,输入resources。
这个创建的resources目录并不能IDEA被识别成一个资源文件夹,右键此目录,修改这个目录变成资源文件夹。
修改完resources文件夹的样子,如下图10
-
方式二
在IDEA界面中,File——>Project Structure..…——>Modules
同时测试需要配置文件的资源文件夹,要同上方式一样创建资源文件目录。
7、最后得到一个完整Maven的Java项目结构目录
8、这里在介绍一个IDEA的几种目录类型
注意每种类型文件夹的样子。
(二)、不通过骨架创建Maven的Java项目
就是上边第二步,不勾选Create from archetype,不选择模板,直接finish。
其他的步骤都一样,我们看最后生成项目的目录结构。
我们发现只是少了一个测试的配置资源目录,自己按照上面的步骤天加就好了。
推荐:如果以后在创建java工程的时候,尽可能不要使用骨架,直接创建工程。
注意:
创建成功后右下角会提示:Maven projects need to be imported
点击Enable Auto-Import,以后更改pom文件后就会自动下载依赖包了。
二、创建Maven的Web项目
创建Maven的Web项目的步骤和上边<一、创建Maven的Java项目>中的步骤是一样的。
就是在第二步中选择maven-archetype-webapp模板来创建项目,其他都一样。
第一次创建的时间也是很长,用模版创建的项目都会提示如下信息,如下图。
我们来看一下创建好的Maven的Web工程的项目。
我们可以看到main文件夹下是没有java目录和resources目录,还有整个test目录都没有。那这就都需要我们手动进行添加了。添加的方法上边第七步。
最后就获得一个完整目录结构的Maven创建的Web工程。
三、简单的说一下Java工程和Web工程的区别
如果说Java项目代码多半在本地,Web项目的代码基本是在远程服务端。当你是Web应用时,比如要建个网站,需要发布到服务器时,应为JavaWeb项目。
当你做分布式系统时,也就是你做的只是一个服务,对外发布也只是一个服务的时候,需要建立Web Services Project(不理解可以先研究下webservices)。
当你仅仅是需要JDK来运行一些本地代码的时候,只需要建Java Project就可以了。
Java项目:
- 运行在本地的Java运行环境(JRE)上就可以,通过ClassLoader来动态加载class文件到内存当中运行。
- 打包之后是一个jar包。
Web项目:
- 不是通过本地的JRE运行的,而是部署到web服务器(比如tomcat,jetty),这些服务器都实现了自身的类加载器。
- 打包之后获得一个war包,一个war文件代表了一个Web应用程序。