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 - ...
随机推荐
- 音视频处理之H264编码标准20170906
一. H264基础概念 1.名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像.在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场. 片: 每个图象中,若干 ...
- Stanford机器学习---第十四讲.机器学习应用举例之Photo OCR
http://blog.csdn.net/l281865263/article/details/50278745 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Oc ...
- Hdu5181 numbers
numbers Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 196608/196608 K (Java/Others)Total ...
- [linux]linux调度策略对io的影响
题记:原本要写nfs的I/O小测试的,但考虑到只是的完整性和系统性,转一篇调度策略相关文章. 1.linux中的调度策略 参考:http://scoke.blog.51cto.com/769125/4 ...
- Qt ------ stylesheet 样式
1.所有的窗口组件都可以用 setStyleSheet() 设置样式 2.使用样式,显示效果可以不受平台影响,比如保证window 7 和 linux 显示效果是一样的 QVariant 如果 sty ...
- phpmyadmin 登录时间修改
登录后1440秒未活动后总是自动退出,一天还要登录多次,终于有时间来解决这个问题了,感觉是session超时,结果在网上search了下,找到解决办法啦,哈哈哈,在此做个笔记:phpmyadmin在使 ...
- jni 找不到本地方法的实现
使用JNI开发,需要在java端声明本地方法,并在jni层实现本地方法. 有时运行项目时会先抛出异常:No implementation found for native xxx 然后直接挂掉:jav ...
- CentOS下安装JDK1.8
0.卸载旧版本 键入命令java-version,查询当前JDK版本 如果版本号不是想要的,键入rpm -qa|grep gcj 键入命令 yum -y remove (后接查询得到的版本),移除老版 ...
- 5W次单点修改,求最长的连续上升子序列 HDU 3308
题目大意:给你n个数,m个操作. 有两种操作: 1.U x y 将数组第x位变为y 2. Q x y 问数组第x位到第y位连续最长子序列的长度. 对于每次询问,输出连续最长子序列的长度 思路:用线段树 ...
- C11构造函数的改善
1.委托构造函数 委托构造函数就是允许在同一个类中一个构造函数可以调用另一个构造函数,从而在初始化时简化变量的初始化. class CTest { public: int x; int y; int ...