Java--IDEA设置Maven,创建Maven工程
Posted MinggeQingchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java--IDEA设置Maven,创建Maven工程相关的知识,希望对你有一定的参考价值。
一、IDEA设置maven安装主目录,setting.xml文件和本地仓库位置
IDEA中内置了maven ,一般不使用内置的, 用内置修改maven的设置不方便
需要IDEA指定maven安装位置等,使用自己安装的maven, 需要覆盖IDEA中默认设置
1、设置maven安装主目录,setting.xml文件和本地仓库位置
(1)设置本机存放资源的目录位置(设置本机仓库)
默认仓库(本机仓库)存放位置:
C:\\Users\\(登录操作系统的用户名)Administrator\\.m2\\repository
可以将其复制到设定的目标路径,如将其复制到如下路径
D:\\XXXX\\maven-work\\repository (个人计算机存放位置)
(2)修改maven的配置文件, maven安装目录\\conf\\settings.xml(如:D:\\XXXX\\apache-maven-3.6.3\\conf\\settings.xml (个人计算机存放位置)),先备份 settings.xml
(3)编辑settings.xml文件,修改 <localRepository> 指定你的目录(不要使用中文目录)
D:\\XXXX\\maven-work\\repository (个人计算机存放位置)
打开settings.xml文件,发现原始配置如下,在53行
我们将<localRepository>标签拷贝出来,将标签中的路径修改为自己从默认C盘中拷贝出来的repository文件夹
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: $user.home/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\\JDK\\maven-work\\repository</localRepository>
2、配置当前工程的设置
【1】File----Settings----Build, Execution,Deployment----Build Tools----Maven
Maven Home directory: maven的安装目录
User Settings File : maven安装目录conf/setting.xml配置文件
Local Repository : 本机仓库的目录位置
如果在maven安装路径下的conf文件下的setting.xml文件中修改了,修改了User settings file的路径之后,勾选 Override,会自动带出Local repository的文件路径
修改完成之后,点击“Apply”,再点击“OK”即可
【2】File----Settings----Build, Execution,Deployment----Build Tools----Maven----Runner
VM Options:-DarchetypeCatalog=internal
JRE: 你项目的jdk
archetypeCatalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置:
internal——maven-archetype-plugin内置的
local——本地的,位置为~/.m2/archetype-catalog.xml
remote——指向Maven中央仓库的Catalog
IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件。
该命令的参数-DarchetypeCatalog,可选值为:remote,internal ,local等,用来指定archetype-catalog.xml文件从哪里获取。
默认为remote,即从 http://repo1.maven.org/maven2/archetype-catalog.xml路径下载archetype-catalog.xml文件。
http://repo1.maven.org/maven2/archetype-catalog.xml 文件约为3-4M,下载速度很慢,导致创建过程卡住
使用-DarchetypeCatalog=internal,不用下载, 创建maven项目速度快
修改完成之后,点击“Apply”,再点击“OK”即可
3、配置新建工程设置
IDEA新版 File----New Projects Settings----Settings for New Projects...
IDEA老版 File----Other Settings----Settings for New Projects...
配置操作同上
二、IDAE创建Maven的Java和Web工程
1、创建maven的Java工程
【1】首先,我们可以创建一个Empty Project;File----New----Project...
【2】新建一个模块;File----New----Module...
maven-archetype-quickstart : 普通java项目(可选可不选,不选默认是普通Java工程)
Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助作者给用户创建Maven工程模板,并给用户提供生成相关工程模板版本的参数化方法
【3】填写工程名,存放位置,公司组织域名倒写,gav等信息
【4】下一步,还可确认maven设置,工程设置等
第一次创建maven工程,会自动下载插件,在右下方可以看到下载进度条
【5】 下载完成之后,控制台会显示 Build Success;就会生成如下目录结构,有些版本的IDEA不同,生成目录结构也不同
新版IDEA中还会有一个附送的App.java类和AppTest.java类
pom.xml文件内容如下
可以看到坐标(gav),依赖,以及自带的编译,测试等插件信息
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompay</groupId>
<artifactId>maven-javase</artifactId>
<version>1.0</version>
<name>maven-javase</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
点击右方Maven,可以看到如下结构
maven生命周期,maven的插件,以及依赖
【6】新版没有resources文件夹,自己创建resources文件夹,将其标记为main或者 test下的资源文件夹根目录
设置好目录之后,会发现文件夹的标记都不同
执行compile命令之后,生成了target目录
2、IDEA创建maven的web工程
maven-archetype-webapp : web工程
【1】同上,先创建一个Empty Project;File----New----Project...
【2】新建一个模块;File----New----Module...
【3】填写工程名,存放位置,公司组织域名倒写,坐标(gav)等信息
【4】下一步,还可确认maven设置,工程设置等
【5】目录结构如下,缺省main/java,main/resources;test,test/java,test/resources目录,并将对应目录进行标记
3、IDEA导入maven工程(module)
【1】同上,先创建一个Empty Project;File----New----Project...
【2】File----Project Structure----Module----点击 “+” 加号
【3】选择Import Module
【4】选择需要导入的工程
【5】选择导入方式
以上是关于Java--IDEA设置Maven,创建Maven工程的主要内容,如果未能解决你的问题,请参考以下文章
Java IDEA maven包拉下来,运行没有问题,在External Libraies能找到,但是运行的时候Import是灰色,也就是import的时候找不到包
Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑦ ( 登录 Maven 私服 | Maven 私服初始化设置 | 创建 Maven 仓库 )
04_项目一众筹00_04Maven配置工作空间环境STS创建第二个Maven项目,演示依赖一个新的工作空间环境标准设置