查看maven版本_[Maven]-Maven基础-02-Maven入门程序

Maven基础

Maven入门程序

第一个Maven项目Hello

<1>新建Maven项目

  • a.新建Maven项目

288d3b8f9da4ce2396e5d0777a1367b9.png
  • b.选择Maven骨架

f789fec053c45f099c148c3866ef5584.png

a1dec4ce332688b3ec62befef5f6eeba.png
  • c.查看建立完成的目录结构和指定库文件的变化

第一次加载Maven项目需要等待一段时间,等待相关内容加载完成再进行操作(如果长时间无反应,右键工程properties选择maven-->update project更新maven工程,等待完成即可)

19699715bb426901a26e9e0e3268cfbd.png

Maven的目录结构每个目录都有自己的功能 也就是遵循Maven约定

遵从Maven约定

src/main/java —— 存放项目的.java文件

src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件

src/test/java —— 存放所有测试.java文件,如JUnit测试类

src/test/resources —— 测试资源文件

target —— 项目输出位置

pom.xml —— maven依赖项配置(jar包配置)

<2>配置pom.xml

修改jre为自定义的jdk版本,与此同时,通过配置pom.xml可以实现jar包的导入、移除,可以更换Junit的jar包查看变化

通过在maven官网查找相关jar包,直接复制相关代码进行配置即可

http://mvnrepository.com/

81af602a382e083ce92e20dfa6f039e8.png

此处替换原有的junit-3.8.1.jar进行测试,查找最新的junit相关jar包进行替换

2bed7270726f34e39f0dfa3ea9512aa9.png

169b571aa5b6b794f03090d9f251d7cd.png

修改后:

e0b7be0fb08cc881f4e74af37d167ebd.png

<3>编码测试

Hello.java:

public 

HelloTest.java:

import static 

程序执行测试:右键选择要测试的方法名,点击run as --> junit test进行测试

9799430ddf4d73f23b7674c139bdfb5c.png

<4>执行程序

选中pom.xml 右键 --> run as --> maven build,依次执行以下命令 查看根据目录的变化

ce8cb4e1d8a7414700445382563c5cb2.png

a.执行compile命令

查看根目录变化 编译程序为.class文件

be5d3b5b9b34366dedc34f9461fe9422.png

1f383dd173ff261b810833b7aa4f8a6f.png

s

b.执行clean 命令

清理target文件目录的所有的内容

9291a7e358e7bd5d27a155df9119c4e3.png

cdacf7d283685068faa2daf7728f70b8.png

c.执行clean compile

先执行清理,然后执行编译

5c76f945f8e5b7881e8ecde698fa8d2f.png

d.执行clean test 执行测试程序

执行清理,然后执行测试,如果程序正常 则会提示执行时间等信息

c0b86934c0319befbdaa144207fca87e.png

如果执行失败,则考虑是maven工程加载的时候缺失一些必要的文件,处理方式:通过另外提供的较完整的respository进行替换原有的内容,重新更新maven工程,等待更新完成再次进行测试即可(由于网络原因可能会导致部分文件在加载的时候没能加载完全,从而导致在使用的时候报错,因此在导入文件的时候要耐心等待,如果加载出错需要将原有的相关目录完全删除,否则再次导入还是无法使用)

此外如果在执行clean compile指令显示错误(无法匹配jre环境,但在cmd窗口下可以执行),则有可能是eclipse中的jdk配置是选择了jre,需要将其修改至相应的jdk即可

e.执行clean package 打包数据

把程序打成jar包,可以供其他项目使用,生成的保存目录参考控制台输出,此处为

E:workspaceJavaEEProjectsHellotarget

e619bf3b1fa8f5271b9196e148114cb4.png

bbb7d4caa4f8336b1eedf56a9a30f75a.png

第二个Maven项目HelloFriend

<1>创建Maven工程

创建maven工程参考上述,创建完成需要配置相关属性pom.xml、jre版本

<2>如何引用其他工程的内容?

在第二个Maven工程HelloFriend引用Hello工程的内容

a.将指定工程部署到仓库下(Hello工程执行install执行)

执行install命令即可部署,把当前工程部署到到仓库之下,此处仓库路径

C:UsersAdministrator.m2repository

e3ee17e2f9952677d097c50e7d67d035.png

部署完成可以在相应的目录查看到相关信息

818197a765ee0e8b9d3d2d820836c67b.png

c731c0aa52c4bdb85b1450598eb65d85.png

b.配置pom.xml,将Hello工程引入

在pom.xml中进行配置,配置格式:

<dependency>
      

相关参数均可以在Hello工程下的pom.xml文件中查阅,配置如下所示

<dependency>
	

完成配置点击保存,等待加载完成,刷新工程可以依赖项引入了Hello工程,完成引入则可正常使用Hello工程相关内容

62a0b0ccb15485a93e55b1b5d42f2b26.png

pom.xml依赖配置:

<dependencies>
		

c.在HelloFriend中引用Hello工程

HelloFriend.java:

public 

HelloFriendTest.java:

public 

测试结果正常显示:

ff534dea3efcf94e0517fce3e137a450.png

将HelloFriend工程install到指定仓库供下一步操作

第三个Maven项目MakeFriend

a.pom.xml配置

根据上述步骤完成Maven工程创建,在pom.xml中配置相关属性即可(此处引入HelloFriend工程,修改pom.xml相关内容和jre)

<dependencies>
		

查看工程maven依赖变化,自动将Hello、HelloFriend工程一并导入

17529d05569421115fafc63f2fab6476.png

b.程序测试

MakeFriend.java:

public 

MakeFriendTest.java:

public 

测试结果正常显示

2e6be6edeed7d5f8db55b8a03efcdfce.png

间接依赖和直接依赖

a.在上述内容的基础上,在Hello项目中的pom.xml 添加如下代码,查看Maven Dependencise

<dependency>
		

e2cd7e2e7a4d40066657c048d300b0ea.png

b.在HelloFriend项目中添加如下代码,查看相应的变化

<dependency>
		

5cf473308b9a47f73fdd8f6f7d6a7b45.png

c.在MakeFriend中查看maven的变化

31a76ed1f0328d6cd095304dca7f456a.png

根据结果分析显示在HelloFriend没有引入1.2.17的log4j时,MakeFriend中引用的是1.2.12版本的log4j,在HelloFriend引入1.2.17的log4j后,MakeFriend中的log4j版本相应发生变化,其遵循原则为路径最近者优先

ec684b64066e3a3f511bc6889ef3fea9.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven插件是一种可插拔的工具,可以在Maven构建过程中执行特定的任务。其中,maven-dependency-plugin和maven-surefire-plugin是两个常用的插件。 maven-dependency-plugin插件可以用来管理项目依赖,可以帮助我们列出项目中的依赖关系,复制依赖文件到指定目录,解压依赖文件等。常用的配置包括: - list:列出项目依赖 - copy-dependencies:将所有依赖文件复制到指定目录 - unpack:解压指定的依赖文件 maven-surefire-plugin插件则是用来执行项目的单元测试的。它可以在Maven构建过程中自动执行单元测试,并生成测试报告。常用的配置包括: - includes/excludes:指定要执行的测试类或排除的测试类 - parallel:指定测试是否并行执行 - reportsDirectory:指定测试报告生成的目录 在POM文件中配置这两个插件,可以通过以下方式: ``` <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> <configuration> <includes> <include>**/*Test.java</include> </includes> <parallel>methods</parallel> <threadCount>10</threadCount> <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> </configuration> </plugin> </plugins> </build> ``` 以上是一个简单的POM文件中Maven插件配置maven-dependency-plugin和maven-surefire-plugin的示例,其中maven-dependency-plugin在package阶段执行复制依赖文件的任务,maven-surefire-plugin在test阶段执行单元测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值