使用maven构建Fest时出现ClassNotFound错误

时间:2013-01-16 20:10:22

标签: java maven fest

想尝试fest 2.x分支。我不熟悉maven,但是我从github下载了fest,它给了我一个pom.xml,所以我和mvn install一起运行maven,并得到以下内容:

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building FEST Fluent Assertions (Core) 2.0M9-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ fest-assert-core ---
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ fest-assert-core ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/sbarnum/Java/fest-assert-2.x-master/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ fest-assert-core ---
[INFO] Compiling 180 source files to /Users/sbarnum/Java/fest-assert-2.x-master/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/sbarnum/Java/fest-assert-2.x-master/src/main/java/org/fest/assertions/internal/Numbers.java:[31,17] cannot find symbol
symbol  : class Comparison
location: class org.fest.assertions.internal.Numbers<NUMBER>
[ERROR] /Users/sbarnum/Java/fest-assert-2.x-master/src/main/java/org/fest/assertions/error/ShouldContain.java:[38,6] cannot find symbol
symbol  : class Comparison
location: class org.fest.assertions.error.ShouldContain
[ERROR] /Users/sbarnum/Java/fest-assert-2.x-master/src/main/java/org/fest/assertions/error/ShouldContain.java:[53,73] cannot find symbol
symbol  : class Comparison
location: class org.fest.assertions.error.ShouldContain

我错过了什么?我只是想忘了可下载的.jar吗?

3 个答案:

答案 0 :(得分:2)

我认为,基于他们CI server的输出,他们的构建目前已被破坏,并且自12月15日以来一直被打破。所以你没做什么,他们只是在他们的回购中破坏了代码。

您可以将最后一个成功构建的jar从CI服务器here中“最后成功的工件”下拉出来

答案 1 :(得分:2)

由于Alex(Fest创建者)正在进行重大重构,因此当前构建非常不稳定。 他推动了他未完成的工作,以便能够继续努力,因此破坏了构建。 我不知道这个重构什么时候会完成。

话虽如此,使用Fest的常用方法是从maven central repo获取最新版本(使用maven,gradle,ivy ....)。

您甚至可以直接从maven central repo there 下载jar,但我建议使用可以下载传递依赖项的构建工具。

干杯,

Joel Costigliola(节庆委员)

答案 2 :(得分:0)

  

要求只提供可下载的.jar,是否忘恩负义?

不,要求预编译二进制文件并不是忘恩负义;但是,如果您正在下载源代码并进行编译,那么您选择了错误的项目。

也许他们没有发布预编译的二进制文件,在这种情况下我觉得你。基本上这个构建明显被打破,原因与“他们开始改变东西但没有完成工作”非常相似,你或者可能试图从早期的存储库快照中提取,或者修复他们所做的“无论什么”。到处走走。

假设您不关心代码,是否可以在http://code.google.com/p/fest/downloads/list中找到您寻找的二进制文件?