Ant, JUnit以及Sonar的安装+入门资料
Ant
感觉是个和Make/Grunt类似的东东,build一个项目用的。安装很容易,跟装JDK类似,就是解压->设环境变量->没了。注意装之前要先确认Java装好了(有点废话)。
下载地址在这里,找到Current Release of Ant,有三种压缩包可以选。win下一般选zip,linux下一般选第二或第三个,下完之后解压到你平时放第三方软件的目录。懒得用浏览器下载的话,以最新版本1.9.4为例,我是这样装的:
$ cd #到你习惯放第三方二进制包的地方,比如我一般放在~/software
$ wget http://mirrors.gigenet.com/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz
$ tar xvzf apache-ant-1.9.-bin.tar.gz
wget的网址是随便从官网上复制的,mirror一刷新就会变。 下好之后照着这里说的设好$ANT_HOME,然后把$ANT_HOME/bin加进$PATH,比如我的~/.bashrc修改完之后要有这行。
export ANT_HOME=/home/joyeecheung/software/apache-ant-1.9.
其实下完解压之后manual文件夹里就有这堆文档了,可以直接本地看~~
接着重启终端,检查一下是不是装好了:
$ ant -version
比如我的装好之后就会显示
Apache Ant(TM) version 1.9. compiled on April
按照官网的提示还可以装一下依赖,不过可能要下很久,我下了十五分钟= =|||
$ cd $ANT_HOME
$ ant -f fetch.xml -Ddest=system
安装JUit
其实最好别装2333333 所谓的安装不过是把junit.jar放到$CLASSPATH里,但是ant对$CLASSPATH无比敏感(不能有引号尾巴不能有/之类,一旦有就可能挂掉),一般都是需要的时候把junit.jar放到一个合适的地方然后放进classpath里编译使用。
另外其实ant自带JUnit的。。。不信去$ANT_HOME/lib看看。在ant里使用junit的方法参见这里
Ant&JUnit入门
命令行版的可以看官网的HelloWorld教程,跟着做一遍就会了,so easy~里面还附带怎么写弱弱的Junit测试(做的时候经常发现诡异的错误,然后把教程里的代码直接复制覆盖掉手打的又没事了,估计又是奇怪的typo。另外这个教程的JUnit貌似不能跑,他没有把编译测试写成一个target,要跑的话应该是测试代码的编译再写一个target,然后跑测试的target那里要include的不是.java是编译出的.class)
Eclipse版的可以直接Help->Search然后搜ant,就会有自带的教程,跟着做一遍也会了~ (P.S. Eclipse自带Ant也自带JUnit所以不用专门给它设置什么东西 囧~)
ant的task列表可以在这里找到,或者看manual文件夹下的tasksoverview.html
JUnit入门还是蛮简单的,不过是又一个测试框架而已,看着例子就可以写出来了,简单来讲就是import后各种assert……然后加一点装饰器什么的……
注意JUnit 4.11及以上的版本用的时候classptah里不仅要有junit的jar,还要有hamcrest-core的jar,不然会报class not found(诡异的是ant明明也自带了hamcrest-core都会报错……怒自己加进classpath就没事了)
其他一些教程:
一些JUnit的教程:
- https://code.google.com/p/t2framework/wiki/JUnitQuickTutorial
- http://junit.sourceforge.net/doc/cookbook/cookbook.htm
- http://junit.sourceforge.net/doc/cookstour/cookstour.htm
JUnit的API文档:http://junit.org/apidocs/index.html
SonarQube安装
首先去这里下载Sonar和Sonar-runner,下完之后解压,然后添加环境变量,要改动的地方有三个:
在Sonar解压出来的文件夹下,进入bin,找到对应平台的文件夹,比如我的
/home/joyeecheung/software/sonar-3.7./bin/linux-x86-
将它设成SONAR_HOME(貌似不必须,加进来纯粹为了方便)
- 把Sonar-runner解压出来的文件夹下的bin设成SONAR_ RUNNER_ HOME
- 把SONAR_ RUNNER_ HOME放进PATH里
我的设完大约长这样
export SONAR_HOME=/home/joyeecheung/software/sonar-3.7./bin/linux-x86-
export SONAR_RUNNER_HOME=/home/joyeecheung/software/sonar-runner-2.4
export PATH=$PATH:${SONAR_RUNNER_HOME}/bin
如果不改数据库的话这样就可以用了(默认会用自带的H2数据库)。
接着重启终端(如果改的是.bashrc,/etc/profile需要重启系统),跑起sonar的服务端
$ $SONAR_HOME/sonar.sh start
然后用浏览器访问http://localhost:9000。如果看不到可以耐心等一分钟先,我的就是要耐心等一会儿……=。= 然后就可以看到dashboard了,这个时候还没跑过任何检查所以dashboard还是空空如也。
然后按照这篇官方教程的指示,写一个sonar-project.properties在项目目录下,然后在目录下运行
$ sonar-runner
第一次运行会给你顺手下一堆插件装上,跑完以后去http://localhost:9000或者用sonar在终端输出里提示的那个url可以看到跑的结果。里面会有一堆很龟毛的代码修正提示,照着改就可以了。
另外官网上也有教怎么把Sonar放进Ant里跑,貌似这样就可以不用写那个sonar-project.properties了: http://docs.codehaus.org/display/SONAR/Analyzing+with+SonarQube+Ant+Task
Ant, JUnit以及Sonar的安装+入门资料的更多相关文章
- Express安装入门与模版引擎ejs
Express安装入门与模版引擎ejs 目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set ...
- Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1
摘要: Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1 安装遇到问题请文末留言. 悦动智能公众号:aibbtcom AI这个概念好像突然就 ...
- spark一些入门资料
spark一些入门资料 A Scala Tutorial for Java Programmers http://docs.scala-lang.org/tutorials/scala-for-jav ...
- Eclipse Che安装入门和使用(一)
Eclipse Che序列博文如下: 安装和调试篇:Eclipse Che安装入门和使用(一) Web进阶篇:Eclipse Che开发Spring Web应用(入门) (二) 本文摘要: Eclip ...
- Git入门资料汇总
Git是一个非常好用的版本控制工具,同时,它也是一个相对比较复杂的工具,想要掌握它还是需要花一番功夫的.网络上关于Git的入门资料已经很多了,我就不再重复了,直接把我学习的文章放在这里. Git详解 ...
- 「译」JUnit 5 系列:基础入门
原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...
- Solr安装入门、查询详解
Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...
- Docker安装入门 -- 应用镜像
Docker安装入门 -- 应用镜像 WordPress 1.docker build -t csphere/wordpress:4.2 . 2.docker run -d -p 80:80 -- ...
- Docker安装入门 -- 中间件镜像
Docker安装入门 -- 中间件镜像 php-fpm 1.docker build -t csphere/php-fpm:5.4 . //在当前目录下创建镜像 2.docker run -d - ...
随机推荐
- 【loj6436】【pkusc2018】神仙的游戏
Portal --> pkuscD2T2(loj6436) Solution 个人觉得是道很好的法法塔题qwq 一开始的时候想偏了想到了另一种法法塔处理字符串匹配之类的奇怪技巧(万径人踪灭qwq ...
- 学习 opencv---(12)OpenCV 图像金字塔:高斯金字塔,拉普拉斯金字塔与图片尺寸缩放
在这篇文章里,我们一起学习下 图像金字塔 的一些基本概念,如何使用OpenCV函数pyrUp和pyrDown 对图像进行向上和向下采样,以及了解专门用于缩放图像尺寸的resize函数的用法.此博文一共 ...
- poj1816 Wild Words
Wild Words Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5567 Accepted: 1475 Descri ...
- HDU 4352 数位dp
XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Qt ------ QElapsedTimer 计算消耗多少时间
The QElapsedTimer class provides a fast way to calculate elapsed times. The QElapsedTimer class is u ...
- 深入理解Spring之九:DispatcherServlet初始化源码分析
转载 https://mp.weixin.qq.com/s/UF9s52CBzEDmD0bwMfFw9A DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请 ...
- linux——vi和vim的区别
vi 和vim 的区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道 ...
- 关于servlet中重定向、转发的地址问题
先写一个正斜杠"/",再判断是服务器使用该地址还是网站使用该地址. 访问网络资源用/,访问硬盘资源用\. 例如: 转发: request.getRequestDispat ...
- c++中指针常量,常指针,指向常量的常指针区分
const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * con ...
- windows环境下搭建Redis集群
转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...