博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“Maven官方用户入门指南”翻译之三
阅读量:4112 次
发布时间:2019-05-25

本文共 3001 字,大约阅读时间需要 10 分钟。

如何编译源文件?

进入pom.xml所在的目录,然后执行如下命令去编译你的源文件:

mvn compile

执行时将会输出如下信息:

[INFO] ----------------------------------------------------------------------------[INFO] Building Maven Quick Start Archetype[INFO]    task-segment: [compile][INFO] ----------------------------------------------------------------------------[INFO] artifact org.apache.maven.plugins:maven-resources-plugin: \  checking for updates from central...[INFO] artifact org.apache.maven.plugins:maven-compiler-plugin: \  checking for updates from central...[INFO] [resources:resources]...[INFO] [compiler:compile]Compiling 1 source file to 
/my-app/target/classes[INFO] ----------------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ----------------------------------------------------------------------------[INFO] Total time: 3 minutes 54 seconds[INFO] Finished at: Fri Sep 23 15:48:34 GMT-05:00 2005[INFO] Final Memory: 2M/6M[INFO] ----------------------------------------------------------------------------

初次执行此命令的时候,maven需要下载插件和依赖,一般需要一段时间(上面耗时4分钟的样子)。再次执行的时候maven已经有了他所需要的资源,不需要再次下载任何东西,执行会非常快。

从输入的日志上我们可以看出,classes文件会被放置在${basedir}/target/classes,这个也是maven的一个标准约定。如果你是一个敏锐观察者你会发现你只需要遵循这个约定,上面的pom很小你也没有告诉他输入和输出,遵循约定你会最小的付出做更多的事,非常轻松,让我们看下如果在ant中做同样的事情需要做哪些。

        很容易看出编译源文件这个事ant脚本比maven复杂的多。那么我们还可以基于这个简单的pom做更多的事情!

 

如何编译测试用例并执行单元测试?

现在我们已经成功编译我们的项目源文件了,同时我们也写了一些单元测试的代码(任何项目都需要不停的反复的去单元测试)。执行如下命令:

mvn test

上述执行将会输出如下日志:

[INFO] ----------------------------------------------------------------------------[INFO] Building Maven Quick Start Archetype[INFO]    task-segment: [test][INFO] ----------------------------------------------------------------------------[INFO] artifact org.apache.maven.plugins:maven-surefire-plugin: \  checking for updates from central...[INFO] [resources:resources][INFO] [compiler:compile][INFO] Nothing to compile - all classes are up to date[INFO] [resources:testResources][INFO] [compiler:testCompile]Compiling 1 source file to C:\Test\Maven2\test\my-app\target\test-classes...[INFO] [surefire:test][INFO] Setting reports dir: C:\Test\Maven2\test\my-app\target/surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------[surefire] Running com.mycompany.app.AppTest[surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0 secResults :[surefire] Tests run: 1, Failures: 0, Errors: 0[INFO] ----------------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ----------------------------------------------------------------------------[INFO] Total time: 15 seconds[INFO] Finished at: Thu Oct 06 08:12:17 MDT 2005[INFO] Final Memory: 2M/8M[INFO] ----------------------------------------------------------------------------

上面的日志输出说明如下:

  • maven下载了一些依赖,单元测试也需要一些依赖资源和插件(一旦有了这些资源下次将不再下载)
  • 执行编译单元测试之前首先需要编译应用主代码(所有的代码都是最新的,因为最后一次编译之后没有做修改)

如果仅仅是编译你的单元测试代码而不去执行单元测试的话那么执行如下命令:

mvn test-compile

现在你已经编译了你的项目源代码,编译了单元测试代码,执行了单元测试 ,理所当然的你会问....

 

 

 

转载地址:http://wsqsi.baihongyu.com/

你可能感兴趣的文章
Windows 环境下Webstorm 2020.3 版本在右下角找不到Git分支切换部件的一种解决方法
查看>>
Electron-Vue项目中遇到fs.rm is not a function问题的解决过程
查看>>
飞机换乘次数最少问题的两种解决方案
查看>>
有向无回路图的理解
查看>>
设计模式中英文汇总分类
查看>>
MFC实现五子棋游戏
查看>>
WPF实现蜘蛛纸牌游戏
查看>>
单例模式
查看>>
工厂方法模式
查看>>
模板方法模式
查看>>
数据结构之队列、栈
查看>>
数据结构之树
查看>>
数据结构之二叉树
查看>>
二叉树非递归遍历算法思悟
查看>>
红黑树算法思悟
查看>>
从山寨Spring中学习Spring IOC原理-自动装配注解
查看>>
实例区别BeanFactory和FactoryBean
查看>>
Spring后置处理器BeanPostProcessor的应用
查看>>
Spring框架的ImportSelector到底可以干嘛
查看>>
Mysql中下划线问题
查看>>