Maven

[复制链接]
发表于 2026-2-14 00:24:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×


设置

maven 利用须要依赖jdk,因此事先要包管安装了jdk1.8以上
1、关闭项目举行全局设置



2、查察版本

高于当前版本大概不兼容

3、在maven官网选择版本 







4、在D盘新建maven文件夹

解压maven,再新建一个repository文件夹当做堆栈

5、修改设置文件


 在maven.aliyun.com复制代码修改设置

 6、修改设置里的路径


要关闭项目,设置全局的路径


-DarchetypeCatalog=internal 
7、设置情况变量

设置用户变量 MAVEN_HOME
在用户变量的Path中增长 %MAVEN_HOME%\bin
控制台mvn -v 查抄是否乐成


堆栈设置

当地堆栈


远程堆栈


在setting.xml中设置
https://developer.aliyun.com/mvn/guide
Maven项目

clean

会把target目次删掉,只保存src目次
package

在target目次内天生对应的打包文件jar,供其他模块利用
名字由artifactId和version天生

install

把打包得到的jar,提交到指定的堆栈
创建Web项目

打包方式默认是jar,web项目打包是war,可以指定

依赖管理

依赖设置

依赖指当前项目运行须要的jar,一个项目可以设置多个依赖
依赖通报

直接依赖
间接依赖
        
当前项目直接依赖资源(好比m1),而m1又依赖资源(m2),当前项目间接依赖m2
依赖辩说


  • 路径优先
            当依赖中出现雷同的资源时,层级越深,优先级越低
  • 声明优先
            当资源在雷同层级被依赖时,设置次序靠前的覆盖设置次序靠后的
  • 特殊优先
            当同级设置了雷同资源的差别版本,后设置的覆盖先设置的(克制没意义的辩说)
可选依赖
       
对外潜伏当前所依赖的资源 - 不透明
        A项目引入了B项目,雷同于间接引入了B项目中的依赖
        B项目的某些依赖不想给其他项目利用
  1. <dependency>
  2.     <groupId>junit</groupId>
  3.     <artifactId>junit</artifactId>
  4.     <version>4.13.2</version>
  5.     <optional>true</optional> //true隐藏,默认是false不隐藏
  6. </dependency>
复制代码
清除依赖
       
自动断开依赖的资源,被清除的资源无需指定版本
        A项目引入了B项目,A不想要利用B的某些依赖
  1. <dependency>
  2.     <groupId>com.hspedu</groupId>
  3.     <artifactId>maven_B</artifactId>
  4.     <version>1.0-SNAPSHOT</version>
  5.     <exclusions>
  6.         <exclusion>
  7.             <groupId>junit</groupId>
  8.             <artifactId>junit</artifactId>
  9.         </exclusion>
  10.     </exclusions>
  11. </dependency>
复制代码
依赖范围

        依赖的jar默认情况可以在任何地方利用,通过scope标签设定其作用范围

Maven项目构建生命周期





插件

插件与生命周期内的某个阶段绑定,在实行到对应生命周期时,由对应插件来完成任务/功能
默认的package,只会得到项目的jar,jar里只有主步伐的.class文件

需求:在pom.xml参加自界说插件,打包项目时,能输出主步伐和测试步伐的源码
放在build标签下
  1.     <build>
  2.         <plugins>
  3.             <plugin>
  4.                 <!--插件坐标-->
  5.                 <groupId></groupId>
  6.                 <artifactId></artifactId>
  7.                 <version></version>
  8.                 <executions>
  9.                     <execution>
  10.                         <goals>
  11.                             <!--主程序源码打包-->
  12.                             <goal>jar</goal>
  13.                             <!--测试程序源码打包-->
  14.                             <goal>test-jar</goal>
  15.                         </goals>
  16.                         <!--指定在生命周期的哪个阶段执行-->
  17.                         <phase>generate-test-resources</phase>
  18.                     </execution>
  19.                 </executions>
  20.             </plugin>
  21.         </plugins>
  22.     </build>
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表