Maven 学习笔记——将普通的Java项目转换成Maven项目(3)

将一个普通的java项目转换成Maven项目并不是一个很大的任务,仅仅只需要下面的几步就能将转换成功。下面我是用一个简单的Selenium测试小demon作为例子来说的。

  1. 移调项目中所有关联的Libraries
  2. 将Selenium项目转换成Maven项目
  3. 增加Maven依赖库到项目中
  4. 创建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.1-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.4:test (default-test) @ MavenConvertDemon1 ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.999 s
[INFO] Finished at: 2015-02-06T16:22:09+08:00
[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.1-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 1 source file to D:\Junit\MavenConvertDemon1\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ MavenConvertDemon1 ---
[INFO] Surefire report directory: D:\Junit\MavenConvertDemon1\target\surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running test.TestSeleniumDemon1
Feb 6, 2015 4:32:55 PM org.openqa.selenium.os.UnixProcess$SeleniumWatchDog destroyHarder
INFO: Command failed to close cleanly. Destroying forcefully (v2). [email protected]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.452 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 38.029 s
[INFO] Finished at: 2015-02-06T16:32:57+08:00
[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.

时间: 2024-12-08 16:15:45

Maven 学习笔记——将普通的Java项目转换成Maven项目(3)的相关文章

转:如何将 Java 项目转换成 Maven 项目

如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确方便.它带给你直观的方便是:你不用在网上找 Jar 包,然后把它复制到 lib 目录,再在项目中引用它.而只需向 pom.xml 写入你需要的 Jar 包依赖,Maven 就能自动从本地仓库或远程仓库下载,并引用-- 如何将一般的 Java 项目转换成

Myeclipse Java项目转换成Maven项目

1.在Eclipse中Java项目转换成Maven项目可以在项目右键-->configure-->Convert Plug-in projects..  就可以.而在myeclipse中项目右键时configure标签不是默认的  需要手动开启. 2.开启configure过程为...   Window-->perferences. 3. 4. 5.然后项目右键-->configure-->Convert Plug-in projects..  就转换成maven项目了. 6

Java 项目转换成 Maven 项目

本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍将 Java 项目转换成 Maven 项目.如果了解 Java 项目与 Maven 项目在结构上的区别,就很容易在他们之间进行转换,而不用局限于各种资料上所描述的方法(有些方法相当不靠谱,照猫画虎,知其然不知其所以然).本文假设你已经成功安装了 Maven. 我的 Eclipse 版本是 Eclipse eclipse-jee-mars-R-win32-x86_64 版本 4.5.0,Build id

将Eclipse项目转换成AndroidStudio项目过程中遇到的问题以及解决方法

将Eclipse项目转换成AndroidStudio项目也不是第一次了,昨天转的时候遇到几个问题: 首先将项目导入androidstudio,导完后报错: 问题一: Error:java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error:Execution failed for task ':app:mergeDebugResources'.> Error: jav

iOS- 如何将非ARC的项目转换成ARC项目(实战)

1.前言 因为公司有个国外餐饮系统,编程开发了3-4年,之前用的都是非ARC,开发到今年,第一批迭代开发的人员早已不见,目前发现了有许多的内存泄露之类的,系统没有自动释放该释放的内存.一旦app长时间使用,内存没有得到释放,最后导致app闪崩.涉及到的地方特别多,特别繁杂.故我有了打算将此项目完全转换称arc项目的意向.经过1个星期的转换与1个星期的测试,成功将非arc项目转换称arc项目. 因为很少找到有公司将大型老app进行arc转换,所以网上这方面的资料都特别少. 经过这次尝试,我证明了是

Eclipse中将Java项目转换成Web项目的方法

前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<natures>标签,查看是否有下面的代码,没有则复制进去. Xml代码 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.m

idea中将项目转换成Maven项目

第一步:项目右键->Add Framework... 选择maven ok 这样就成功转换成了一个maven项目 原文地址:https://www.cnblogs.com/weibanggang/p/9652268.html

非ARC项目转换成ARC项目的相关支持

1.将项目编译环境改成arc 将红圈处从No 改成Yes 如果你现在的工程不支持ARC技术,你可以通过一个自动转换工具来转换你的工程(工具在Edit>Refactor>Convertto Objective-C ARC),这个工具会自动所有工程中手动管理内存的点转换成合适自动方式的(比如移除retain, release等).这个工具会转换工程中所有的文件.当然你可以转换单个文件. 2.下面的这些函数:dealloc,retain, release, retainCount, autorele

把普通java项目转换成maven项目

我使用的是eclipse,右键项目,Configure->Convert to Maven Project 然后就是jar包的引入了,如果jar包比较简单,建议从maven中拉取,这样便于后期升级更新jar包.如果比较复杂,可以使用本地的jar包,我写了一个自动生成的方法 package com.comp; import java.io.File; public class Gen { public static void main(String[] args) { String strPath