我正在运行JUnit,每晚在我的计算机上构建Windows XP中的计划任务。我的应用程序使用Jaxb,因此一些测试需要使用系统类路径引用xsd模式。当我不在计算机上运行夜间构建时,我收到如下错误:
java.lang.Exception:无法从类路径加载架构mySchema.xsd
但是,当我手动运行构建时,我没有得到这样的错误。我的模式位置的环境变量是 System 变量,而不是User变量,所以我不知道是什么原因导致了这个错误。导致此错误的原因是什么?
编辑:像Hudson这样的替代品不是我要求的。我要求上述技术的解决方案(批处理文件作为计划任务运行)。
答案 0 :(得分:1)
您应该查看Hudson或Cruise Control。两者都易于设置,并将为您提供更多报告,控制和改进的可用性,以解决此类问题。您将花费更少的时间来调查构建问题。
答案 1 :(得分:1)
我怀疑你的工作目录与你期望的不同(而不是具体的classpath变量)。如果您将此计划任务作为用户或系统任务运行,则不会立即显现。在任何一种情况下,都值得找出任务的确切位置。
尽管如此,虽然我曾经使用Windows XP计划任务设置自动构建(与您现在完全一样),但我们目前使用CruiseControl。在摘要中,这与你正在做的事情(定期运行构建)没有太大的不同,但它increases your flexibility。在这里,CruiseControl最有价值的功能是检测提交的更改并仅运行构建然后。我们现在在提交的10分钟内找到了破坏的构建,破坏的单元测试等。
答案 2 :(得分:1)
hudson是另一个持续集成引擎,设置起来非常简单:
Hudson offers the following features: