- 浏览: 1501791 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (419)
- XMPP (19)
- Android (180)
- Java (59)
- Network (4)
- HTML5 (13)
- Eclipse (9)
- SCM (23)
- C/C++ (4)
- UML (4)
- Libjingle (15)
- Tools&Softwares (29)
- Linphone (5)
- Linux&UNIX (6)
- Windows (18)
- Google (10)
- MISC (3)
- SIP (6)
- SQLite (5)
- Security (4)
- Opensource (29)
- Online (2)
- 文章 (3)
- MemoryLeak (10)
- Decompile (5)
- Ruby (1)
- Image (1)
- Bat (4)
- TTS&ASR (28)
- Multimedia (1)
- iOS (20)
- Asciiflow - ASCII Flow Diagram Tool.htm (1)
- Networking (1)
- DLNA&UPnP (2)
- Chrome (2)
- CI (1)
- SmartHome (0)
- CloudComputing (1)
- NodeJS (3)
- MachineLearning (2)
最新评论
-
bzhao:
点赞123!
Windows的adb shell中使用vi不乱码方法及AdbPutty -
wahahachuang8:
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方 ...
HTML5 WebSocket 技术介绍 -
obehavior:
view.setOnTouchListenerview是什么
[转]android 一直在最前面的浮动窗口效果 -
wutenghua:
[转]android 一直在最前面的浮动窗口效果 -
zee3.lin:
Sorry~~
When I build "call ...
Step by Step about How to Build libjingle 0.4
http://hi.baidu.com/dburu/blog/item/d34bb68b1fb03b609e2fb4b4.html
Hudson是一个简单而非常强大的集成测试工具,结合maven junit findbugs svn ant 等等数以百计的插件,可以大有作为,今天只说findbugs。
Hudson本身的安装与配置就不说了,非常简单,下载war包直接扔到tomcat即可。maven的基本操作也不说了,不行自己去看。
第一步:
首先进入Hudson » 系统管理 » 插件管理 » 可选插件
选中FindBugs Plug-in,点击最下面的安装即可,安装完成后需要重启tomcat,以便加载新插件。
说明:
1、如果你曾经安装过该插件,则在“可选插件”中是看不到的,在“已安装”插件中。
2、 点击“更新”页签,如果出现“Hudson :: Maven (legacy) :: Plugin”的更新,你最好乖乖的更新,否则你的job设置中的Build Settings选项下的Publish FindBugs analysis results和E-mail Notification选项,勾选之后点击保存,再次打开设置页面,居然为空,保存不成功!这是一个非常坑爹的BUG。
第二步:
准备工程
eclipse中新建个maven工程,要点是:
在依赖中添加
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<!-- <version>1.2</version> -->
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
<!-- <findbugsXmlOutputDirectory>target/test-findbugs</findbugsXmlOutputDirectory>-->
</configuration>
</plugin>
注 意点:看到我注释掉的那句话了吗,这又是一个陷阱,假如放开注释,是可以执行成功的,但是你在Hudson中看不到结果,也就是在 target/test-findbugs下你可以看到findbugsXml.xml,里面也确实有东西,你在命令行执行>mvn clean install findbugs:findbugs或者>mvn clean install findbugs:gui都没有任何问题,但是一旦进入Hudson就是看不到FindBugs Warnings和FindBugs Result,这是因为FindBugs 的Hudson Plug-in是从target目录中取得report。又一个坑爹的陷阱。
手工运行一下mvn clean install findbugs:findbugs,可以看到报告的位置在target的根目录下,才是正确的。
第三步:
拷贝你的工程到\.hudson\jobs\你的job名\workspace\下。
没有workspace可以自己新建一个。
第四步:
Hudson » 新建任务 » 构建一个Maven 2/3 (Legacy)项目
进入设置界面:
Source Code Management
自己看着办吧,从svn取或者自己拷贝到jobs/你的job名字/workspace中
Build
Root POM :填写相对于workspace的根pom的位置
Goals and options:填写诸如clean install findbugs:findbugs或compile findbugs:findbugs此类的
Build Settings:勾选Publish FindBugs analysis results,其他可以用默认值。
说明:
1、一定要注意,clean findbugs:findbugs install ,这种写法是错的,可以运行的,但是并不产生findbugs报告,再次坑爹。
2、当然你可以选择“构建一个自由风格的软件项目”,在下一步配置界面选择Invoke Maven 2 (Legacy)或Invoke Maven 3,这也是可以的,不过配置参数有所不同。
至此,全部完成,点击构建,不出意外的话,你可以看到结果页面。
注意:如果你看到的Plug-in Result是个红叉叉,请修改Hudson » 系统管理 » 插件管理 » 系统设置
邮件通知中的Hudson URL为你的正确地址,注意使用ip地址,不要使用localhost,坑爹啊。
如果你用的所有包都是最新的,你很有可能会看到下面的错误,错误日志片段:
[java] java.text.ParseException: Unparseable date: "12/20/2011 09:17 PM EST"
[java] at java.text.DateFormat.parse(DateFormat.java:337)
[java] at edu.umd.cs.findbugs.Version.<clinit>(Version.java:175)
[java] at edu.umd.cs.findbugs.PluginLoader.init(PluginLoader.java:595)
[java] at edu.umd.cs.findbugs.PluginLoader.<init>(PluginLoader.java:280)
[java] at edu.umd.cs.findbugs.PluginLoader.loadCorePlugin(PluginLoader.java:1304)
[java] at edu.umd.cs.findbugs.PluginLoader.loadInitialPlugins(PluginLoader.java:1259)
[java] at edu.umd.cs.findbugs.PluginLoader.<clinit>(PluginLoader.java:146)
[java] at edu.umd.cs.findbugs.DetectorFactoryCollection.getCoreResource(DetectorFactoryCollection.java:360)
[java] at edu.umd.cs.findbugs.SystemProperties.loadPropertiesFromConfigFile(SystemProperties.java:72)
[java] at edu.umd.cs.findbugs.SystemProperties.<clinit>(SystemProperties.java:55)
[java] at edu.umd.cs.findbugs.FindBugs2.<clinit>(FindBugs2.java:87)
这是为啥呢,又一个坑爹,是程序员就直接看代码,分析原因如下:
下载源码包findbugs-2.0.0-source.zip:http://findbugs.sourceforge.net/downloads.html
解压后,直接导入eclipse中即可。打开 edu.umd.cs.findbugs.Version.java,从第175行开始,往上看。
解决办法:
如果你用的是maven,jar包的位置\.m2\repository\com\google\code\findbugs\findbugs\2.0.0\findbugs-2.0.0.jar
方法1:修改类edu.umd.cs.findbugs.updates.UpdateChecker,然后将编译后的class文件,替换掉findbugs-2.0.0.jar中的对应类。(由于有内部类,注意是4个类)
方法2:看代码175行,打开jar中的version.properties可以看到错误原因正是这个文件中持久化的时间时区与DateFormat默认的时区不一致导致(我们是上海时区),因此修改该properties为正确值即可。
方法3:仔细看代码,实际上对properties文件做了null的验证,因此我们直接删除version.properties文件即可,懒得改来改去。
注意:findbugs-2.0.0.jar\edu\umd\cs\findbugs与findbugs-2.0.0.jar\均有一个version.properties文件,我们针对的是前者,坑爹无极限啊。
现在已经更新到jenkins,bug少了很多,速度也快很多,具体戳这里:http://jenkins-ci.org/
发表评论
-
maven设置HTTP代理
2012-03-16 14:52 5560http://maven.apache.org/ Apa ... -
Trigger Cloudbees Jenkins build upon commits to bitbucket git repo
2012-02-29 17:03 18131. On Cloudbees job configure, ... -
jenkins-git-ant实现持续集成及远程部署
2012-02-27 22:31 2200pdf文档格式,中文的,总结的相当不错。 -
Git push tags to remote repo
2012-02-21 14:44 3060By default, the ‘git push’ comm ... -
JenkinsMobi/HudsonMobi - 监控Jenkins/Hudson服务的客户端应用
2012-02-16 23:03 1468http://www.jenkins-ci.mobi/ ... -
源码搜索引擎 OpenGrok 0.11 发布
2012-02-16 12:14 1327OpenGrok 0.11 发布了,该版本增加 ... -
Jenkins CLI
2012-03-25 17:50 1170https://wiki.jenkins-ci.org/dis ... -
CloudBees提供的免费Jenkins (prev. Hudson) CI (Continuous Integration)服务
2012-02-15 20:56 2049下面我创建的Jobs 下面是某 ... -
Git、Gerrit与Jenkins/Hudson CI服务器
2012-02-10 11:32 1890http://www.infoq.com/cn/article ... -
[SCM]源码管理 - mercurial
2012-02-05 17:55 1850http://www.cnblogs.com/itech/ar ... -
Jenkins入门总结
2012-02-05 17:54 9884http://www.cnblogs.com/itech/ar ... -
msysgit - Git for Windows
2012-01-30 20:16 2666http://code.google.com/p/msysgi ... -
Windows下msysgit通过http代理上网
2012-01-30 11:52 2381网上有各种方法,有效的或者无效的,下面这种方法对我来说有效: ... -
访问Bitbucket的手机应用
2012-01-26 20:55 1194http://blog.bitbucket.org/2011/ ... -
A Collection of Useful .gitignore Templates
2012-01-23 16:42 2179https://github.com/github/gitig ... -
Typical .gitignore file for an Android app
2012-01-23 16:38 1415# built application files * ... -
一个免费的私有代码存放仓库
2012-01-23 14:54 4874https://bitbucket.org/ 免费 ... -
Eclipse的Mercurial插件 HgEclipse
2011-05-16 20:46 2519HgEclipse 是一个 Eclipse 支持 Merc ... -
[Subclipse-users] Could not resolve hostname
2011-05-09 12:57 1090Open your Eclipse preferences a ... -
为Git设置代理
2011-03-01 15:35 39677有两篇文章写的都不错, 这里转载一下. 各种 ...
相关推荐
【标题】"Hudson+Maven+SVN 自动部署" 在现代软件开发流程中,自动化构建和部署是提升效率和质量的关键环节。Hudson、Maven和SVN(Subversion)是三个重要的工具,它们共同协作可以实现无缝的持续集成和自动部署。 ...
Hudson+Visual Studio+SubVersion 远程编译环境搭建。 mht文档,用浏览器打开。
《Hudson集成FindBugs插件详解》 在软件开发过程中,确保代码质量是至关重要的。为了弥补单元测试和代码审查的不足,我们可以利用静态分析工具,如FindBugs,来检测代码中的潜在问题和缺陷。本文将详细介绍如何在...
持续集成平台使用 Hudson+Sonar 持续集成平台使用 Hudson+Sonar 是一种常用的自动化构建和测试解决方案,主要用于软件项目的持续集成和质量控制。本文将详细介绍 Hudson 和 Sonar 的概念、安装、配置和使用方法,并...
Hudson+Sonar+Maven+SVN详细集成介绍
Hudson+Maven+SVN_快速搭建持续集成环境.docx
三、Maven2+Hudson+Svn 的原理 Hudson通过定时或触发器检查SVN仓库的变动,一旦检测到新的提交,就会调用Maven执行构建过程。Maven根据POM文件解析构建指令,管理依赖,执行编译、测试、打包等步骤。如果构建成功,...
详细介绍持续集成环境hudson+nexus+maven搭建
持续集成-SVN+Maven+Hudson+Sonar PPT讲解,持续集成的原理
【标题】"Hudson+PMD 学习资料"涵盖了两个关键的开源工具——Hudson(也称为Jenkins)和PMD,它们在IT行业中扮演着重要的角色,尤其是在软件开发和持续集成流程中。 【Hudson】是最早的持续集成服务器之一,现已被...
本文将详细介绍如何利用Hudson、Maven和SVN实现简单的自动化部署,这种方法已经在实际生产环境中得到了应用。 1. **Maven**: Maven是一个跨平台的项目管理工具,由Apache软件基金会维护。它主要用于Java项目的...
在IT行业中,持续集成(Continuous Integration,CI)是一种软件开发实践,它强调开发...在实际操作中,可以参考提供的文档,如"Hudson+maven_配制制步骤.doc"和"hudson使用说明.pdf",以获取更具体的配置和使用指导。
【Hudson + Sonar 自动部署配置】 在 IT 领域中,自动化部署和质量分析是提升开发效率和保证代码质量的关键环节。Hudson 和 Sonar 是两款强大的工具,分别用于持续集成和代码质量管理。本文将详细介绍如何配置 ...
【Hudson+Maven+Svn配置】的整合是软件开发中的一个重要环节,它涉及到了持续集成、自动化构建和版本控制等多个关键领域。以下是对这些工具的详细解释和配置步骤: 1. **Hudson**:Hudson是一个开源的持续集成...
在Linux环境中,构建一个自动化部署系统常常涉及到一系列的工具集成,如Hudson、Maven和Nexus。这个过程主要包括三个主要部分:安装Hudson作为持续集成服务器,配置Maven为项目构建工具,以及安装Nexus作为私有仓库...
标题 "Hudson+Ant+SVN+Tomcat实现快速构建(一)" 涉及的是在软件开发中使用一系列工具进行自动化构建的过程。这个过程是持续集成的一部分,旨在提高开发效率,确保代码质量,并减少错误。以下是这些工具在构建流程...
### Hudson + Ant 配置详解 #### 一、前言 在现代软件开发流程中,持续集成(CI)已经成为提高软件质量和开发效率的关键技术之一。Hudson(现更名为Jenkins)作为一款开源的持续集成工具,凭借其强大的功能和丰富...
个人整合网上资源加上自己的实践 成功的搭建了一套Git Nexus私服 Hudson管理的环境 并附有Checkout commit deploy 实例