java maven 项目结构_maven(一)初步搭建,项目结构

一、环境准备

java环境, jdk 1.5 以上

MyEclipse集成工具,我装的是8.5 版本

二、快速安装及配置

下载apache-maven-3.*.*-bin.zip

解压后, 配置环境变量%MAVEN_HOME%\bin 即可完成安装,(MAVEN_HOME为解压包位置)

测试maven3是否已经安装,在dos上运行mvn -version,出现如下类似结果表示安装完成

5c982ad847b5d882fc34d648558e6a0f.png

2、修改仓库位置

2.1 win7系统默认的仓库路径是:C:\Users\用户名\.m2\repository 修改为:D:\Program Files\Maven\Repositories

2.2 修改\apache-maven-3.1.0\conf 下的setting.xml文件, 找到D:\Program Files\Maven\Repositories这一行,进行修改

2.3 打开命令提示符, 输入:mvn help:system, 该命令会打印出所有的java系统属性和环境变量

3、修改myeclipse内嵌maven为自己安装的版本

打开myEclipse,点击Window->Preferences

74675565938d8dababb3e547ceb8e395.png

三、创建maven项目例子

1、新建项目, 点击File->Other 选择Java Maven Project

539eb07465312f1934f0288c4d59817c.png

图1:new Maven Project

bb4d9a00782b362b02d0fc995bafd53d.png

图2:ProjectName\ Group Id\Artifact Id

2、新建项目后, maven项目结构如下图

39c7a364fdc6126f950543f37b1244b9.png

说明:

1)pom.xml在项目的根目录下,打开pom.xml

2)pom.xml中, groupId artifactId和version,这3个元素定义了项目基本的坐标,

一般groupId跟创建的包关联(名称相同),如图所示; artifactId定义了当前Maven项目在组中唯一的ID

3)pom.xml自动添加了依赖,有了这个声明, Maven能够自动下载相应版本的junit.jar包,

如图,已经下载到了本地仓库C:\Users\${用户名}\.m2\repository\junit\junit\versionxx,打开该路径,可以看到junit-version.pom 和junit-version.jar

4)添加依赖中,元素定义依赖范围,当为test时候, 表示: import JUnit只能测试类中, 在主代码中引入, 会编译错误。

不声明依赖范围,默认值是compile,表示该依赖对主代码和测试代码都有效。

3、编写主代码(src/main/java下)并编译

比如,在com.jennifer.test下建HelloMaven.java

代码如下:

f47ae54b6d0013df4bfcb21d70c2336f.png

使用Maven进行编译, 在项目根目录下运行命令: mvn clean compile

382af847d65733bf498ff2848a7620ec.png

说明:

1)clean,告诉Maven清理输出目录 target/

2)compile告诉Maven编译项目主代码,编译后,在..\maventest2\target\classes的 \com\jennifer\test下生成了HelloMaven.class 文件

4、编写测试代码(src/test/java下)

如上2(3)所述, 已经添加了junit依赖,(默认创建项目后依赖的junit版本较低,改成4.8.1,此时,依赖的关联包会自动更新),

下面用junit编写测试类

c297f5a4b53cff4b61c79d0a06029498.png

编写完毕后, 调用Maven执行测试,运行 mvn clean test

aaacec17daa57ed45f9df5ae94e09f46.png

说明:

1)执行成功后, 在..\maventest2\target\test-classes的 \com\jennifer\test下生成了HelloMavenTest.class 文件

并且, target下面生成 surefire-reports,显示运行结果报告

2)若构建执行compiler:testCompile任务的时候失败了,Maven输出提示需要使用 -source5或更高版本以启动注释

修改配置文件, 使maven-compiler-plugin支持java5,如下:

346c906fff67b3f9b6c6b023c2eb08ae.png

5、打包

执行打包命令:mvn clean package

27e4d0883cb029be67ed0e069999ac99.png

说明:

1)执行打包命令,jar插件的jar目标将项目主代码打包成一个名为hello-0.0.1-SNAPSHOT.jar,该文件位于target/  输出目录中

默认命令规则:artifact-version.jar

2)将该 .jar文件拷贝下来, 导入到其他项目中, 就可以调用里面的类和提供的方法

3)直接在其他Maven引用的话, 执行安装步骤:mvn clean install, 就会安装到本地仓库中, 同样在repository仓库文件夹里,生成该项目的.pom .jar文件(类似前面下载的junit)

5237f1f37a8ec634625261e6001645b2.png

6、运行

前面默认打包生成的jar不能够直接运行, 因为带有main方法的类信息不回添加到mainfest中,需要再配置插件

2064a156ff46cedbc2d20e92162a7c59.png

再重新执行 mvn clean install

回再生成一份新的带有Main-Class信息的.jar文件,前面生成的被重命名为original-hello-0.0.1-SNAPSHOT.jar

在项目根目录中执行该jar文件

63def3ed5e0604fc49d5f57c5d1e2c47.png

四、maven与其他常用插件结合使用

上述中, 就有提到maven里面配置junit插件, 用来完成单元测试, 实际上,maven项目很容易跟其他插件结合起来使用

比如javadoc, 代码覆盖测量工具Cobertura等

1、javadoc配置如下:

b2125b8278f13e2ea34722425b62f328.png

配置javadoc后, 执行 mvn javadoc:javadoc 命令, 就会在..\target\site\apidocs目录下生成 apidocs信息

2、Cobertura配置如下:

6461598681b8a427cbac1073511d3f72.png

配置Cobertura后, 执行 mvn cobertura:cobertura 命令, 就会在..\target\site\cobertura目录下,生成测试代码覆盖主代码情况信息。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值