持续学习&持续更新中…
守破离
进入https://www.apache.org/官网
下拉至网页底部,点击Maven
在cmd窗口中键入mvn -v
,出现如下界面说明Maven配置安装成功。
<maven.compiler.source>8maven.compiler.source>
<maven.compiler.target>8maven.compiler.target>
<maven.compiler.compilerVersion>8maven.compiler.compilerVersion>
<profile>
<id>jdk8id>
<activation>
<activeByDefault>trueactiveByDefault>
<jdk>8jdk>
activation>
<properties>
<maven.compiler.source>8maven.compiler.source>
<maven.compiler.target>8maven.compiler.target>
<maven.compiler.compilerVersion>8maven.compiler.compilerVersion>
properties>
profile>
mvn archetype:generate
第一次运行某些mvn命令,会去初始化下载很多东西。之后就不会了。
ctrl+c
然后输入Y
,让Maven停止去**中央仓库**
下载东西。(Maven会默认下载文件到**C:\Users\username\.m2\repository**
文件夹下面)① 删除之前的.m2文件,然后找到Maven解压目录下的conf/settings.xml
文件
② 修改settings.xml文件中的内容:
修改默认仓库路径:
<localRepository>D:/my_maven_repo/repositorylocalRepository>
在settings.xml中找到mirrors
标签,然后添加如下内容:
<mirror>
<id>aliyunid>
<mirrorOf>centralmirrorOf>
<name>aliyunname>
<url>https://maven.aliyun.com/repository/publicurl>
mirror>
6 再次键入mvn archetype:generate
,让其去初始化下载。
7 初始化下载完成后,选择项目类型,敲回车即可(默认选择7)
8 group id(组织名称、公司域名、包名):coder.lp
9 artifactId(项目名):hello_world
10 版本号、package默认选项,一直敲回车,最后输入Y即可。
出现上图表示一个普通的Maven项目创建成功。
mvn archetype:generate –DgroupId=programmer.lp –DartifactId=hello_test –Dversion=1.0-RELEASE –DarchetypeGroupId=org.apache.maven.archetypes –DarchetypeArtifactId=maven-archetype-quickstart
1 键入mvn archetype:generate
2 选择项目类型:10
-3 输入groupId、artifactId、然后一直敲回车。
在命令行输入:
mvn archetype:generate –DgroupId=programmer.lp –DartifactId=hello_webtest –Dversion=1.0-RELEASE –DarchetypeGroupId=org.apache.maven.archetypes –DarchetypeArtifactId=maven-archetype-webapp
可以根据自己的需要来配置IDEA的Maven,比如让IDEA使用自己下载安装好的Maven:
在导入成功后IDEA右侧的Maven选项卡
打开Terminal终端,然后进入项目所处目录,执行自己手动打开cmd一样的操作
上述方式(勾选Create from archetype)创建Maven项目,pom.xml中会有很多冗余配置,生成一些不必要的东西。因此不建议使用。推荐使用下述方法2
pom.xml配置中,只要配置上
就代表该项目是一个web项目。
pom.xml配置:
<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.0modelVersion>
<groupId>programmer.lpgroupId>
<artifactId>nine_myselfartifactId>
<version>1.0.0version>
<packaging>warpackaging>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
properties>
<dependencies>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>4.0.1version>
<scope>providedscope>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>druidartifactId>
<version>1.2.8version>
dependency>
dependencies>
<build>
<finalName>nine_myselffinalName>
build>
project>
注意:使用Maven依赖Servlet时需要加上scope provided
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>4.0.1version>
<scope>providedscope>
dependency>
在IDEA2021中Reimport就是Reload
配置Tomcat插件的目的是:通过Maven中的Tomcat插件来部署项目到Tomcat服务器
Tomcat8之前get请求乱码问题解决
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<path>/testpath>
<port>8080port>
<uriEncoding>UTF-8uriEncoding>
configuration>
plugin>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<path>/testpath>
<uriEncoding>UTF-8uriEncoding>
<update>trueupdate>
<url>http://localhost:8080/manager/texturl>
<server>tomcat9server>
configuration>
plugin>
上述两种Maven配置Tomcat插件部署项目的方式都很麻烦,推荐使用IDEA来部署Tomcat。
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-jar-pluginartifactId>
<version>3.0.2version>
<configuration>
<archive>
<manifest>
<addClasspath>trueaddClasspath>
<classpathPrefix>libclasspathPrefix>
<mainClass>programmer.lp.MainmainClass>
manifest>
archive>
<finalName>hellojavafinalName>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-dependency-pluginartifactId>
<version>3.1.2version>
<executions>
<execution>
<goals>
<goal>copy-dependenciesgoal>
goals>
<configuration>
<outputDirectory>${project.build.directory}/liboutputDirectory>
configuration>
execution>
executions>
plugin>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<version>2.3.0.RELEASEversion>
<executions>
<execution>
<goals>
<goal>repackagegoal>
goals>
<configuration>
<mainClass>com.mj.MainmainClass>
<finalName>hellojavafinalName>
<includeSystemScope>trueincludeSystemScope>
configuration>
execution>
executions>
plugin>
通过Maven打包项目,默认情况下打包遇到中文就会出现乱码问题,使用该属性
就可以解决该问题。
该属性也可以解决文件编码警告问题。
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
properties>
-Dfile.encoding=GBK
阿里云Maven镜像可用可不用(不推荐使用)
一般都推荐加上
声明文件编码,解决Maven打包中文乱码问题。
修改Maven项目的JDK版本推荐使用方法3,以后就不用在每个项目的pom.xml文件中添加属性了。
使用IDEA部署Tomcat就不用在pom.xml中配置Tomcat插件了
推荐在
下添加
,将打包生成的文件命名为context path
使用Maven依赖Servlet时需要加上scope provided
Tomcat8之前需要在pom.xml的Tomcat插件中配置如下:
,详见Maven配置Tomcat插件
李明杰: Java从0到架构师②JavaEE技术基石.
本文完,感谢您的关注支持!