Maven 学习笔记——将普通的Java项目转换成Maven项目(3)
将一个普通的java项目转换成Maven项目并不是一个很大的任务,仅仅只需要下面的几步就能将转换成功。下面我是用一个简单的Selenium测试小demon作为例子来说的。
- 移调项目中所有关联的Libraries
- 将Selenium项目转换成Maven项目
- 增加Maven依赖库到项目中
- 创建Maven的测试文件夹架构
Step1:移调项目中所有关联的Libraries
选中你需要转换的Project:Build Path > Configure Build Path

Step2: 将Selenium项目转换成Maven项目
1) 右键需转换的项目,Configure > Convert Maven Project
2) 要求填入Group ID和Artifact ID,这个不需要改变,用默认项目提供的

3) 转换成功后,该项目在Eclipse中的结构变成下面这样

没转换前的结构 转换后的结构
Step3:增加Maven依赖库到项目中
现在我们就需要将项目中所需要的依赖包加到本地中心源中,我就针对这个项目来说,我们知道我们现在缺少Selenium jar包,junit jar包等等。
1) 到 http://www.mvnrepository.com/ 上面查找Selenium
2) 点击Selenium Java

3) 选择你所需要使用的Selenium的版本

4) 关于Selenium在Maven中信息就会显示出来,然后将这些信息加到pom.xml中

5) 将Selenium的dependency的信息加到pom.xml,可以在Dependencies以流程的方式添加进去,保存,这个时候会下载相关的依赖包到本地源中心中。(需要一点时间,有任何问题,可以参考之前Maven(1)中提到,解决问题)


6)直接在pom.xml中将查询到的信息拷贝到xml文件中,保存。

7)等待依赖包被下载完后,所有的错误就会解决

Step4 创建Maven的测试文件夹架构
接下来就是检验真理的时候,看这个转换的Selenium项目能否跑起来,选择pom.xml > Run As > Maven Test 结果-----------测试用例没有被执行,这是为什么呢?仔细看看log,发现Maven默认是在\src\main\resource这个路径下找的源代码资源,测试源代码是在\src\test\resources 。
输出结果为:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MavenConvertDemon1 0.0.-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ MavenConvertDemon1 ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Junit\MavenConvertDemon1\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ MavenConvertDemon1 ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ MavenConvertDemon1 ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Junit\MavenConvertDemon1\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ MavenConvertDemon1 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.:test (default-test) @ MavenConvertDemon1 ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.999 s
[INFO] Finished at: --06T16::+:
[INFO] Final Memory: 6M/15M
[INFO] ------------------------------------------------------------------------
那么现在的目的就是怎么自定义Maven的目录结构?
下面这个代码是把源代码设置成src目录下,把测试的源代码放在src/test下面,这样修改后就解决刚才的问题了,测试就跑起来了。这样一个Selenium项目就转换成Maven项目了。
<build>
<sourceDirectory>src/</sourceDirectory> <testSourceDirectory>src/test</testSourceDirectory>
</build>
成功后的输出结果:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MavenConvertDemon1 0.0.-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ MavenConvertDemon1 ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Junit\MavenConvertDemon1\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ MavenConvertDemon1 ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ MavenConvertDemon1 ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Junit\MavenConvertDemon1\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ MavenConvertDemon1 ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling source file to D:\Junit\MavenConvertDemon1\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.:test (default-test) @ MavenConvertDemon1 ---
[INFO] Surefire report directory: D:\Junit\MavenConvertDemon1\target\surefire-reports -------------------------------------------------------
T E S T S
-------------------------------------------------------
Running test.TestSeleniumDemon1
Feb , :: PM org.openqa.selenium.os.UnixProcess$SeleniumWatchDog destroyHarder
INFO: Command failed to close cleanly. Destroying forcefully (v2). org.openqa.selenium.os.UnixProcess$SeleniumWatchDog@9ffe3f
Tests run: , Failures: , Errors: , Skipped: , Time elapsed: 31.452 sec Results : Tests run: , Failures: , Errors: , Skipped: [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 38.029 s
[INFO] Finished at: --06T16::+:
[INFO] Final Memory: 11M/26M
[INFO] ------------------------------------------------------------------------
PS;附一张Maven的标准目录结构:

————————————————————————————————
WHOOOOSHHHHHHHHHHHH…………
Blimey what was that?
That was your life mate
Oh, I was not quite ready. Can I have another go?
Sorry mate, only one per person.
Maven 学习笔记——将普通的Java项目转换成Maven项目(3)的更多相关文章
- Myeclipse Java项目转换成Maven项目
1.在Eclipse中Java项目转换成Maven项目可以在项目右键-->configure-->Convert Plug-in projects.. 就可以.而在myeclipse中项 ...
- 如何将 Java 项目转换成 Maven 项目
本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...
- 转:如何将 Java 项目转换成 Maven 项目
如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明 ...
- eclipse下将普通的java工程转换成web工程
开发过程中需要对普通的java工程转换成动态的web工程,网络上查询了资料很简单的几步操作就可以搞定,操作步骤如下: 编辑.project 修改以下配置 <nature>org.eclip ...
- 把Eclipse项目转换成Maven项目
把Maven项目转换成Eclipse项目只要使用Maven的Eclipse插件就能做到 mvn eclipse:eclipse 其实Maven的Eclipse插件也有把Eclipse项目转换成Mave ...
- 使用cmd命令创建maven(web)项目+项目转换成IDEA项目+项目打包+Jetty运行Web项目
3条件:配置好环境 配置环境教程:https://www.cnblogs.com/weibanggang/p/9623705.html 第一步:查看版本信息,在cmd输入mvn –version,如果 ...
- 将Eclipse项目转换成AndroidStudio项目过程中遇到的问题以及解决方法
将Eclipse项目转换成AndroidStudio项目也不是第一次了,昨天转的时候遇到几个问题: 首先将项目导入androidstudio,导完后报错: 问题一: Error:java.util.c ...
- Java项目转换成Web项目
阐述:有时候我们在Eclipse中导入一个web项目,发现导入到项目中后变成一个Java项目,这让人很蛋疼.本篇主要讲述怎样将这个本该为web项目的Java项目变身回去,以及一些在导入过程中遇到的一些 ...
- 将普通java工程转换成maven工程
在MyEclipse10中将Maven项目转成普通Java项目后,想将Java项目转成Maven项目,结果一下子傻眼了.根本就没有攻略中提到的config标签.仔细一看,喵咪的,人家用的是Eclips ...
随机推荐
- linux 的常用命令---------第九阶段
Centos 7 系统启动及相关配置文件(面试题) 1. BIOS 初始化,开始post开机自检(主要检查磁盘.cpu.内存) 2. 加载 MBR 到内存 3. GRUB 阶段(可不说) 4. 加载内 ...
- Android开发-各种各样好看漂亮的进度条,指示器,加载提示汇总
导读:之前项目中用到一些进度条,找了不少,打算写个demo自己总结一下,留着以后用, 有些是自己写的,有些是github上找的别人的库,如果大家觉得好看可以用,直接下载复制代码到项目里就可以用,ok ...
- table border
table的CSS为{border-collapse:collapse;border:none;},再设置td的CSS为{border:solid#000 1px;}是一个非常不错的方法. 示例: & ...
- Java并发(一)并发编程的挑战
目录 一.上下文切换 1. 多线程一定快吗 2. 测试上下文切换次数和时长 3. 如何减少上下文切换 4. 减少上下文切换实战 二.死锁 三.资源限制的挑战 四.本章小结 并发编程的目的是为了让程序运 ...
- 6-51单片机ESP8266学习-AT指令(8266TCP服务器--做自己的AndroidTCP客户端发信息给单片机控制小灯的亮灭)
http://www.cnblogs.com/yangfengwu/p/8776712.html 先把源码和资料链接放到这里 链接: https://pan.baidu.com/s/1jpHZjW_7 ...
- jqgrid 单击行启用行编辑,切换行保存原编辑行
为了加速表格互动编辑,我们往往希望通过选中行就触发了行编辑,完成行编辑后,再选中另一个行做编辑,同时上一个编辑行被自动保存,直至完成需要的编辑内容. 页面效果可能如下: 1)设置需要编辑的列 edit ...
- lwip lwiperf 方法进行性能测试 4.5MB/S
硬件配置: STM32F407 + DP83848 + FreeRTOS V10.1.1 + LWIP 2.1.2 2018年12月5日14:31:24 1.先读取 PHY 寄存器 , 查看 自 ...
- jquery ajax error函数和及其参数详细说明(转载)
使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,本文详细的说明了ajax中error函数和函数中各个参数的用法.一般error函数返回的参数有三个 ...
- 20155311《网络对抗》Web安全基础实践
20155311<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...
- USART_GetITStatus和USART_GetFlagStatus的区别
USART_GetITStatus()和USART_GetFlagStatus()的区别 都是访问串口的SR状态寄存器,唯一不同是,USART_GetITStatus()会判断中断是否开启,如果没开启 ...