每晚运行构建为XP计划任务 - 类路径问题

时间:2009-04-16 15:10:55

标签: junit classpath nightly-build

我正在运行JUnit,每晚在我的计算机上构建Windows XP中的计划任务。我的应用程序使用Jaxb,因此一些测试需要使用系统类路径引用xsd模式。当我不在计算机上运行夜间构建时,我收到如下错误:

java.lang.Exception:无法从类路径加载架构mySchema.xsd

但是,当我手动运行构建时,我没有得到这样的错误。我的模式位置的环境变量是 System 变量,而不是User变量,所以我不知道是什么原因导致了这个错误。导致此错误的原因是什么?

编辑:像Hudson这样的替代品不是我要求的。我要求上述技术的解决方案(批处理文件作为计划任务运行)。

3 个答案:

答案 0 :(得分:1)

您应该查看HudsonCruise Control。两者都易于设置,并将为您提供更多报告,控制和改进的可用性,以解决此类问题。您将花费更少的时间来调查构建问题。

答案 1 :(得分:1)

我怀疑你的工作目录与你期望的不同(而不是具体的classpath变量)。如果您将此计划任务作为用户或系统任务运行,则不会立即显现。在任何一种情况下,都值得找出任务的确切位置。

尽管如此,虽然我曾经使用Windows XP计划任务设置自动构建(与您现在完全一样),但我们目前使用CruiseControl。在摘要中,这与你正在做的事情(定期运行构建)没有太大的不同,但它increases your flexibility。在这里,CruiseControl最有价值的功能是检测提交的更改并仅运行构建然后。我们现在在提交的10分钟内找到了破坏的构建,破坏的单元测试等。

答案 2 :(得分:1)

hudson是另一个持续集成引擎,设置起来非常简单:

Hudson offers the following features

  • 简易安装:只需java -jar hudson.war,或将其部署在servlet中 容器。没有额外的安装,没有 数据库中。
  • 简单配置:Hudson可以 完全由友好配置 Web GUI,具有广泛的动态 错误检查和内联帮助。有 无需手动调整XML 不管怎么说,如果你愿意的话 所以,你也可以这样做。
  • 改变集支持:哈德森可以 生成一个变更列表 从CVS / Subversion / Mercurial构建。这个 也是以相当有效的方式完成的 时尚,减少负担 库中。
  • 永久链接:哈德森给你 清除大多数的可读URL 页面,包括一些永久链接 “最新版”/“最新成功 建立“,以便他们可以轻松 从其他地方链接。
  • RSS /电子邮件/ IM集成:监控 通过RSS或电子邮件构建结果 关于失败的实时通知。
  • 事后标记:构建可以 在构建之后标记很长时间 完成了JUnit / TestNG测试 报告:JUnit测试报告可以 制表,汇总和显示 有历史信息,如 当它开始破碎等 历史趋势绘制成a 曲线图。
  • 分布式构建:Hudson可以 将构建/测试负载分配给 多台电脑。这让你得到 那些空闲的人中最多的 坐在下面的工作站 开发人员的办公桌。文件 指纹识别:哈德森可以跟踪 其中生产哪种罐子, 哪个构建正在使用哪个 罐子的版本,等等。这个 甚至适用于生产的罐子 在哈德森外面,非常适合 追踪依赖的项目。
  • 插件支持:Hudson可以 通过第三方插件扩展。您 可以编写插件来制作Hudson 支持您的工具/流程 团队使用。