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 - ...
随机推荐
- 高性能相关、Scrapy框架
高性能相关 在编写爬虫时,性能的消耗主要在IO请求中,当单进程单线程模式下请求URL时必然会引起等待,从而使得请求整体变慢. import requests def fetch_async(url): ...
- (转)iOS开发——来改掉那些被禁用的方法吧(持续更新中)
iOS平台在快速的发展,各种接口正在不断的更新.随着iOS9的发布,又有一批老方法不推荐使用了,你若调用这些方法,运行的结果是没有问题的,但是会出现警告“***is deprecated :first ...
- HDU--2363
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2363 分析:最短路+二分. #include<iostream> #include< ...
- Qt ------ QTabWidget
下图: 1.长方形的 objectName 可写可不写,不写就作用于所有 QTabWidget:椭圆形的 QTabWidget#tabWidget 要么四个都要写,要么四个都不写 2.下图的 CSS ...
- k8s本地搭建相信步骤
搭建前的准备: 主机名配置 cat >/etc/hosts<<EOF127.0.0.1 localhost localhost.localdomain localhost4 loca ...
- 协程-遇到I/O自动切换
参考博客:http://www.cnblogs.com/alex3714/articles/5248247.html 一.前言 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步 ...
- nginx日志增加cookie信息
一.获取全部cookie信息 这个比较方便,直接在nginx.conf文件中添加$http_cookie log_format main '[$time_local] - $remote_addr:$ ...
- Python数据生成pdf文件
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- nodejs文件压缩-使用gulp命令(安装过程)
为了代码安全问题,一般发布程序的时候需要将js代码进行压缩,记录一下安装流程.避免忘记. 安装插件
- CF745 D 交互题 思维 二进制分解
现有一矩阵你可以做出不超过20个询问 每个询问 要求输入列号,可以询问矩阵上每行上你给的列之中的最小值让你最后输出该矩阵每行的不包括对角线位置上的最小值考虑询问如何分组,考虑二分,以二进制位来分组 那 ...