温锦文欧普厨电及净水器总代理 发表于 2025-2-19 11:04:51

MAVEN学习

Maven 是项目管理工具,对软件项目提供构建与依赖管理,maven为Java项目提供了统一的管理方式,已成为业界标准。
maven官网:Welcome to Apache Maven – Maven
WIN系统MAVEN 3.9.1安装

1. 下载

下载官网地址:Index of /dist/maven/maven-3 (apache.org)
https://i-blog.csdnimg.cn/img_convert/02e918eeaeab05c5166bdbd97c1871d8.png
百度网盘:
通过网盘分享的文件:apache-maven-3.9.1-bin.zip
链接: https://pan.baidu.com/s/1VKmxrU5Hg6mbEUc43wjQUw 提取码: aua6
–来自百度网盘超级会员v5的分享
2. 设置maven

将下载好的maven文件进行解压,解压之后如下图所示:
https://i-blog.csdnimg.cn/img_convert/364f623a354c614440e5aae9cbad5230.png
新建一个repository文件夹,用于存放当地的maven仓库
设置环境变量
变量名:MAVEN_HOME
变量值:C:\Users\A2\Desktop\apache-maven-3.9.1-bin\apache-maven-3.9.1
   //此处的变量值为你存放Maven的解压路径
变量名:M2_HOME
变量值:C:\Users\A2\Desktop\apache-maven-3.9.1-bin\apache-maven-3.9.1\repository
   //此处的变量值为你存放Maven的解压后目录中的文件夹的路径
   //很多自动依赖的系统,如springboot、springcloud引用了该地址,建议配置上
path中新建
%MAVEN_HOME%\bin
MAVEN设置阿里镜像源
打开conf目次下的settings.xml文件,在<mirrors>添加阿里云仓库
    <!-- 阿里云仓库 -->
    <mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
https://i-blog.csdnimg.cn/img_convert/bd285f81325ea28d94b4b5dda626c114.png
设置默认的JDK版本
<profile>   
      <id>jdk15.0.2</id>
      <activation>   
          <activeByDefault>true</activeByDefault>
          <jdk>jdk15.0.2</jdk>   
      </activation>
      <properties>
          <maven.compiler.source>15.0.2</maven.compiler.source>
          <maven.compiler.target>15.0.2</maven.compiler.target>
          <maven.compiler.compilerVersion>15.0.2</maven.compiler.compilerVersion>
          <encoding>UTF-8</encoding>
      </properties>   
</profile>
设置创建当地的maven路径
约莫54行左右设置当地的maven仓库
https://i-blog.csdnimg.cn/img_convert/78e7a436d82178ce7e0ee9c99fa97c64.png
<localRepository>C:\Users\A2\Desktop\apache-maven-3.9.1-bin\apache-maven-3.9.1\repository</localRepository>
测试Maven
实行mvn --version
,出现mvn的版本,代表maven安装成功
mvn --version
https://i-blog.csdnimg.cn/img_convert/9b4b1c0cbc93abac1447bea5dfeb2e51.png
设置完成,运行mvn help:system
测试,设置成功则当地仓库(C:\Users\A2\Desktop\apache-maven-3.9.1-bin\apache-maven-3.9.1\repository)中会出现一些文件。
初次实行 mvn help:system
命令,Maven相干工具主动帮我们到Maven中央仓库下载缺省的大概Maven中央仓库更新的各种设置文件到Maven当地仓库中。
mvn help:system
是 Maven 构建工具中的一个特定命令,它的主要作用是提供关于 Maven 运行环境的详细信息
mvn help:system
别的版本也是如此创建
参考链接:全站最全Maven下载安装设置讲授(2024更新…全版本)发起收藏…赠予IDEA设置Maven教程-CSDN博客
idea创建maven项目(利用3.8.8)

1. maven设置

1.1 maven与idea关联

关闭项目,选择ALL settings.
https://i-blog.csdnimg.cn/img_convert/e4ba0a86335eabf3f2070f625fbbec74.png
设置Maven的home地址
设置当地settings文件地址
设置当地仓库地址
https://i-blog.csdnimg.cn/img_convert/d149176e43c73f91d7126ea8bcc8cf73.png
2.新建项目

新建一个maven项目。
Groupld:机构大概团体的英文,采用"逆向域名"形式书写。
Artifactld:项目名称,阐明其用途,例如:cms、oa…
https://i-blog.csdnimg.cn/img_convert/47cbfc9d084c0da45577e195c40ce8bc.png
pom.xml:项目(Project)对象(Object)模型(Model)文件
https://i-blog.csdnimg.cn/img_convert/327806d1f4136c922da20f23a8ded077.png
3. java项目创建war项目

idea安装插件JBLJavaToWeb
https://i-blog.csdnimg.cn/img_convert/f1ba17ec663a56683ff7f6afa8ebb181.png
点击JBLJavaToWeb
https://i-blog.csdnimg.cn/img_convert/0c34abf66b2701fc1f7cbff3d5b427a4.png
查看目次转换成功。
https://i-blog.csdnimg.cn/img_convert/942e0b42fdf99a1506fcb190ffbf5ed4.png
4. pom.xml初始阐明

Groupld:机构大概团体的英文,采用"逆向域名"形式书写。
Artifactld:项目名称,阐明其用途,产品线名-模块名。语义不重复不遗漏,例如:cms、oa…
version:版本号格式保举:主版本号.次版本号.修订号
Packaging定义规则:
指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型。
packaging 属性为jar(默认值),代表平凡的Java工程,打包以后是.jar末端的文件
packaging属性为 war,代表Java的web工程,打包以后.war末端的文件。
packaging属性为 pom,代表不会打包,用来做继承的父工程。
https://i-blog.csdnimg.cn/img_convert/f7539b41143f93181f40e74b5284977e.png
5.maven项目布局

https://i-blog.csdnimg.cn/img_convert/f5858bea26daa1832dc3a5cf5a4e12af.png
6. tomcat部署项目

设置tomcat环境变量
CATALINA_HOME
C:\Users\A2\Desktop\apache-tomcat-8.5.99-windows-x64\apache-tomcat-8.5.99
https://i-blog.csdnimg.cn/img_convert/a9bf1e769e326d7a183c7f5689ee45cc.png
path添加
%CATALINA_HOME%\bin
https://i-blog.csdnimg.cn/img_convert/73b3cee75de46b18bc1e05cea0abd044.png
创建个index.html,并设置tomcat
https://i-blog.csdnimg.cn/img_convert/ecdcd47933d2db7af2466d8997f27528.png
https://i-blog.csdnimg.cn/img_convert/6779c9f5323770a2774b77ad8d5c376e.png
https://i-blog.csdnimg.cn/img_convert/b3e41e6df534ecfe9be720690216fc6e.png
6.1办理tomcat乱码标题

将logging.properties中java.util.logging.ConsoleHandler.encoding的UTF-8改为GBK
https://i-blog.csdnimg.cn/img_convert/6f83614a278e5f56b80bc1fc44feca69.png
7. 启动项目

启动项目,编译后的文件放在target文件中
https://i-blog.csdnimg.cn/img_convert/b262e4bb9ae7b287c93406307ca8a8a9.png
在项目目次下,cmd实行命令:
​ mvn clean 清理:清理编译后的文件(target文件)。
​ mvn compile 编译项目,生成target文件
​ mvn pachage:打包成war包
也可以通过可视化实行该命令
https://i-blog.csdnimg.cn/img_convert/8ef5a91f6375a919c354a65bbf5d62a2.png
7.1 打包成war包

如果利用jdk17,打包war包报错,maven自带打包插件和jdk版本不匹配。
<build>
    <plugins>
      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
      </plugin>
    </plugins>
</build>
部署时,将war包放在tomcat文件下的webapps文件夹里,启动tomcat即可启动项目
指定打包名称
<build>
    <finalName>定义打包名称</finalName>
</build>
8. maven依赖管理

<dependencies>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.33</version>
      <scope>compile</scope>
    </dependency>
</dependencies>
https://i-blog.csdnimg.cn/img_convert/58178d61dbe2c751041a8bcc83c8c3d1.png
maven jar包搜索:
Maven Central
Maven Repository: Search/Browse/Explore
自定义版本,方便日后版本修改 <log4jversion>1.2.17</log4jversion> ${log4jversion}取值
<properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- <自定义标签名>版本值</自定义标签名> -->
    <log4jversion>1.2.17</log4jversion>
</properties>
<dependencies>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4jversion}</version>
    </dependency>
</dependencies>
9. 下载一半中断网络导致包未下载成功

在当地仓库搜索 lastxxx将其进行删除即可。
https://i-blog.csdnimg.cn/img_convert/fa583d76684c88f9195f757248d80ab4.png
10.指定打包文件

如果在java文件夹中添加java类,会主动打包编译到classes文件夹下!
但是在java文件夹中添加xml文件,默认不会被打包!
默认环境下,按照maven工程布局放置的文件会默认被编译和打包!
除此之外、我们可以利用resources标签,指定要打包资源的文件夹要把哪些静态资源打包到 classes根目次下!
https://i-blog.csdnimg.cn/img_convert/6c260d22178792dad9186ccfd616b26a.png
11. maven打包成jar包

Maven通过maven-shade-plugin插件输出Jar包,其中一个是原始代码,一个为带有其他插件的jar包合并到一个jar包中
<build>
      <plugins>
            <!-- 配置 maven-shade-plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                  <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                              <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.example.PinyinTestor</mainClass>
                              </transformer>
                            </transformers>
                        </configuration>
                  </execution>
                </executions>
            </plugin>
      </plugins>
    </build>
利用mvn clean package去运行。
大概利用插件assembly-plugin
<build>
      <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                  <archive>
                        <manifest>
                            <mainClass>org.example.PinyinTestor</mainClass>
                        </manifest>
                  </archive>
                  <descriptorRefs>
                        <!-- all in one 在打包时将所有引用的jar包合并到输出的jar中 -->
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                  </descriptorRefs>
                </configuration>
            </plugin>
      </plugins>
    </build>
点击红框内容
https://i-blog.csdnimg.cn/img_convert/54cfa507be3bc998249304f8b4c8c050.png
12.pom.xml中设置镜像仓库

如果不想全局设置,也可以在pom.xml中设置
设置阿里云插件仓库

    <pluginRepositories>
      <!-- 阿里云插件仓库 -->
      <pluginRepository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
      </pluginRepository>
    </pluginRepositories>
设置阿里云jar包镜像仓库
    <repositories>
      <!-- 阿里云插件仓库 -->
      <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
      </repository>
    </repositories>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MAVEN学习