gpt4 book ai didi

ruby - 如何配置 Buildr 以运行 ScalaTest 2.11?

转载 作者:数据小太阳 更新时间:2023-10-29 07:39:23 28 4
gpt4 key购买 nike

我正在使用 Buildr 1.4.20(在 64 位 Linux 上使用 Ruby 2.0.0)并尝试将 ScalaTest 与 Scala 2.11.2 一起使用,但我每次都会收到以下 ClassNotFoundException我尝试运行 buildr test 的时候。

Running tests in MyProject
ScalaTest "MySimpleTest"
An exception or error caused a run to abort. This may have been caused by a problematic custom reporter.
java.lang.NoClassDefFoundError: scala/xml/MetaData
at org.scalatest.tools.ReporterFactory.createJunitXmlReporter(ReporterFactory.scala:209)
at org.scalatest.tools.ReporterFactory.getReporterFromConfiguration(ReporterFactory.scala:230)
at org.scalatest.tools.ReporterFactory$$anonfun$createReportersFromConfigurations$1.apply(ReporterFactory.scala:242)
at org.scalatest.tools.ReporterFactory$$anonfun$createReportersFromConfigurations$1.apply(ReporterFactory.scala:241)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
at scala.collection.Iterator$class.foreach(Iterator.scala:743)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1177)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
at org.scalatest.tools.ReporterConfigurations.foreach(ReporterConfiguration.scala:43)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:245)
at org.scalatest.tools.ReporterConfigurations.map(ReporterConfiguration.scala:43)
at org.scalatest.tools.ReporterFactory.createReportersFromConfigurations(ReporterFactory.scala:241)
at org.scalatest.tools.ReporterFactory.getDispatchReporter(ReporterFactory.scala:245)
at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:2720)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1043)
at org.scalatest.tools.Runner$.run(Runner.scala:883)
at org.scalatest.tools.ScalaTestAntTask.execute(ScalaTestAntTask.scala:329)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
Caused by: java.lang.ClassNotFoundException: scala.xml.MetaData
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1365)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 19 more

自然地,我认为我可以通过在其中添加一个带有 scala.xml.MetaData 的依赖项来解决这个问题,所以我添加了 "org.scala-lang.modules:scala-xml_2。 11:jar:1.0.2" 到我的测试类路径,但我仍然遇到同样的错误。

我确定该类确实存在于 .jar 文件中:

atg@host:~> zipinfo ~/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar | grep MetaData
-rw---- 2.0 fat 1441 bl defN 14-May-20 10:09 scala/xml/MetaData$$anonfun$asAttrMap$1.class
-rw---- 2.0 fat 1312 bl defN 14-May-20 10:09 scala/xml/MetaData$$anonfun$toString$1.class
-rw---- 2.0 fat 1215 bl defN 14-May-20 10:09 scala/xml/MetaData$$anonfun$toString1$1.class
-rw---- 2.0 fat 4197 bl defN 14-May-20 10:09 scala/xml/MetaData$.class
-rw---- 2.0 fat 10489 bl defN 14-May-20 10:09 scala/xml/MetaData.class

...所以我只能假设 test.with 不是在 Scala 项目中添加此依赖项的正确方法。任何人都可以就如何解决此问题提供任何建议吗?

我的整个构建文件如下:

# enable Scala 2.11.2
Buildr.settings.build['scala.version'] = "2.11.2"
Buildr.settings.build['scala.test'] = 'org.scalatest:scalatest_2.11:jar:2.2.2'
Buildr.settings.build['scala.check'] = 'org.scalacheck:scalacheck_2.11:jar:1.11.6'
require 'buildr/scala'

VERSION_NUMBER = "1.0-SNAPSHOT"
GROUP = "..."
COPYRIGHT = "..."

repositories.remote << "http://repo1.maven.org/maven2"

DEPS_COMPILE = "javax.servlet:javax.servlet-api:jar:3.1.0"

desc "..."
define "MyProject" do
project.version = VERSION_NUMBER
project.group = GROUP
manifest["Implementation-Vendor"] = COPYRIGHT

compile.with DEPS_COMPILE

test.with "org.scala-lang.modules:scala-xml_2.11:jar:1.0.2"
end

最佳答案

您的构建文件没问题,这似乎是 buildr 的问题。

作为解决方法,您可以在 ant 依赖项中添加 scala-xml,如下所示:

VERSION_NUMBER = "1.0-SNAPSHOT"
GROUP = "..."
COPYRIGHT = "..."
Ant.dependencies << "org.scala-lang.modules:scala-xml_2.11:jar:1.0.2"

您还应该在构建器的存储库中发布错误。

关于ruby - 如何配置 Buildr 以运行 ScalaTest 2.11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26473128/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com