- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在尝试升级 https://github.com/linkedin/play-testng-plugin到 scala 2.10/sbt 0.13,也使用 https://bitbucket.org/jmhofer/sbt-testng-interface/wiki/Home 的新版本(3.0.0 vs 2.0.3)
但是,我在 sbt 编译时遇到了一个奇怪的错误,我们无法弄清楚,但似乎是由以下代码片段引起的:
class WrappedTestNGRunner(testClassLoader: ClassLoader, loggers: Array[Logger], state: TestRunState) extends TestNGRunner(testClassLoader: ClassLoader, loggers: Array[Logger], state: TestRunState) {
override def run(testClassname: String, fingerprint: Fingerprint, eventHandler: EventHandler, testOptions: Array[String]) = {
super.run(testClassname, fingerprint, eventHandler, testOptions)
}
}
错误信息:
[error]
[error] while compiling: /home/bliang/Projects/play-testng-plugin/plugin/src/main/scala/NGPlugin.scala
[error] during phase: erasure
[error] library version: version 2.10.1
[error] compiler version: version 2.10.1
[error] reconstructed args: -bootclasspath /export/apps/jdk/JDK-1_6_0_27/jre/lib/resources.jar:/export/apps/jdk/JDK-1_6_0_27/jre/lib/rt.jar:/export/apps/jdk/JDK-1_6_0_27/jre/lib/sunrsasign.jar:/export/apps/jdk/JDK-1_6_0_27/jre/lib/jsse.jar:/export/apps/jdk/JDK-1_6_0_27/jre/lib/jce.jar:/export/apps/jdk/JDK-1_6_0_27/jre/lib/charsets.jar:/export/apps/jdk/JDK-1_6_0_27/jre/lib/modules/jdk.boot.jar:/export/apps/jdk/JDK-1_6_0_27/jre/classes:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-lang/scala-library/jars/scala-library-2.10.1.jar -classpath /home/bliang/Projects/play-testng-plugin/plugin/target/scala-2.10/sbt-0.13/classes:/home/bliang/Projects/play-2.2.0-M2/repository/cache/scala_2.10/sbt_0.13/de.johoop/sbt-testng-plugin/jars/sbt-testng-plugin-3.0.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/de.johoop/sbt-testng-interface_2.10/jars/sbt-testng-interface_2.10-3.0.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/sbt/jars/sbt-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/main/jars/main-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/actions/jars/actions-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/classpath/jars/classpath-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/launcher-interface/jars/launcher-interface-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/interface/jars/interface-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/io/jars/io-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/control/jars/control-0.13.0.jar:/home/bliang/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar:/home/bliang/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/completion/jars/completion-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/collections/jars/collections-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/local/jline/jline/2.11/jars/jline.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/api/jars/api-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/compiler-integration/jars/compiler-integration-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/incremental-compiler/jars/incremental-compiler-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/logging/jars/logging-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/process/jars/process-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/relation/jars/relation-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/compile/jars/compile-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/persist/jars/persist-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-tools.sbinary/sbinary_2.10/jars/sbinary_2.10-0.4.2.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/classfile/jars/classfile-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/compiler-ivy-integration/jars/compiler-ivy-integration-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/ivy/jars/ivy-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/cross/jars/cross-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/local/org.apache.ivy/ivy/2.3.0-rc1/jars/ivy.jar:/home/bliang/Projects/play-2.2.0-M2/repository/local/com.jcraft/jsch/0.1.46/jars/jsch.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/run/jars/run-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/task-system/jars/task-system-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/tasks/jars/tasks-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/tracking/jars/tracking-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/cache/jars/cache-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/testing/jars/testing-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/test-agent/jars/test-agent-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/local/org.scala-sbt/test-interface/1.0/jars/test-interface.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/apply-macro/jars/apply-macro-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/command/jars/command-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-src-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-bin-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/precompiled-2_8_2/jars/compiler-interface-bin-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/precompiled-2_9_2/jars/compiler-interface-bin-0.13.0.jar:/home/bliang/Projects/play-2.2.0-M2/repository/cache/org.scala-sbt/precompiled-2_9_3/jars/compiler-interface-bin-0.13.0.jar
[error]
[error] last tree to typer: This(anonymous class $anonfun)
[error] symbol: anonymous class $anonfun (flags: final <synthetic>)
[error] symbol definition: final class $anonfun extends AbstractFunction1[ClassLoader,Unit] with Serializable
[error] symbol owners: anonymous class $anonfun -> method apply -> anonymous class $anonfun -> method ngSettings -> object NGPlugin -> package plugin
[error] context owners: value sharedState -> class WrappedTestNGFramework -> package plugin
[error]
[error] == Enclosing template or block ==
[error]
[error] Template( // val <local WrappedTestNGFramework>: <notype> in class WrappedTestNGFramework, tree.tpe=com.linkedin.plugin.WrappedTestNGFramework
[error] "java.lang.Object", "org.scalatools.testing.Framework" // parents
[error] ValDef(
[error] private
[error] "_"
[error] <tpt>
[error] <empty>
[error] )
[error] // 8 statements
[error] DefDef( // def <init>(): com.linkedin.plugin.WrappedTestNGFramework in class WrappedTestNGFramework
[error] <method>
[error] "<init>"
[error] []
[error] List(Nil)
[error] <tpt> // tree.tpe=com.linkedin.plugin.WrappedTestNGFramework
[error] Block(
[error] Apply( // def <init>(): Object in class Object
[error] WrappedTestNGFramework.super."<init>" // def <init>(): Object in class Object
[error] Nil
[error] )
[error] ()
[error] )
[error] )
[error] ValDef( // private[this] val name: String in class WrappedTestNGFramework
[error] private <local> <triedcooking>
[error] "name "
[error] <tpt> // tree.tpe=String
[error] "TestNGFakeApp"
[error] )
[error] DefDef( // val name(): String in class WrappedTestNGFramework
[error] <method> <stable> <accessor>
[error] "name"
[error] []
[error] List(Nil)
[error] <tpt> // tree.tpe=String
[error] WrappedTestNGFramework.this."name " // private[this] val name: String in class WrappedTestNGFramework
[error] )
[error] ValDef( // private[this] val tests: Array[org.scalatools.testing.Fingerprint] in class WrappedTestNGFramework
[error] private <local> <triedcooking>
[error] "tests "
[error] <tpt> // tree.tpe=Array[org.scalatools.testing.Fingerprint]
[error] Apply( // def apply[T](xs: Seq[T],implicit evidence$2: scala.reflect.ClassTag[T]): Array[T] in object Array, tree.tpe=Array[org.scalatools.testing.Fingerprint]
[error] TypeApply( // def apply[T](xs: Seq[T],implicit evidence$2: scala.reflect.ClassTag[T]): Array[T] in object Array, tree.tpe=(xs: Seq[org.scalatools.testing.Fingerprint], implicit evidence$2: scala.reflect.ClassTag[org.scalatools.testing.Fingerprint])Array[org.scalatools.testing.Fingerprint]
[error] "scala"."Array"."apply" // def apply[T](xs: Seq[T],implicit evidence$2: scala.reflect.ClassTag[T]): Array[T] in object Array
[error] <tpt> // tree.tpe=org.scalatools.testing.Fingerprint
[error] )
[error] // 2 arguments
[error] Apply( // implicit def wrapRefArray[T <: Object](xs: Array[T]): scala.collection.mutable.WrappedArray[T] in class LowPriorityImplicits, tree.tpe=Seq[org.scalatools.testing.Fingerprint]
[error] TypeApply( // implicit def wrapRefArray[T <: Object](xs: Array[T]): scala.collection.mutable.WrappedArray[T] in class LowPriorityImplicits, tree.tpe=(xs: Array[org.scalatools.testing.Fingerprint])scala.collection.mutable.WrappedArray[org.scalatools.testing.Fingerprint]
[error] scala.this."Predef"."wrapRefArray" // implicit def wrapRefArray[T <: Object](xs: Array[T]): scala.collection.mutable.WrappedArray[T] in class LowPriorityImplicits
[error] <tpt> // tree.tpe=org.scalatools.testing.Fingerprint
[error] )
[error] ArrayValue(
[error] <tpt> // tree.tpe=org.scalatools.testing.Fingerprint
[error] List(
[error] Apply( // def <init>(annotationName: String,isModule: Boolean): de.johoop.testnginterface.Annotated in class Annotated
[error] new de.johoop.testnginterface.Annotated."<init>" // def <init>(annotationName: String,isModule: Boolean): de.johoop.testnginterface.Annotated in class Annotated
[error] // 2 arguments
[error] "com.linkedin.plugin.FakeApplication"
[error] Apply( // def apply$default$2(): Boolean @scala.annotation.unchecked.uncheckedVariance in object Annotated
[error] "de"."johoop"."testnginterface"."Annotated"."apply$default$2" // def apply$default$2(): Boolean @scala.annotation.unchecked.uncheckedVariance in object Annotated
[error] Nil
[error] )
[error] )
[error] )
[error] )
[error] )
[error] Apply( // def apply[T](runtimeClass1: Class[_]): scala.reflect.ClassTag[T] in object ClassTag, tree.tpe=scala.reflect.ClassTag[org.scalatools.testing.Fingerprint]
[error] TypeApply( // def apply[T](runtimeClass1: Class[_]): scala.reflect.ClassTag[T] in object ClassTag, tree.tpe=(runtimeClass1: Class[_])scala.reflect.ClassTag[org.scalatools.testing.Fingerprint]
[error] "ClassTag"."apply" // def apply[T](runtimeClass1: Class[_]): scala.reflect.ClassTag[T] in object ClassTag
[error] <tpt> // tree.tpe=org.scalatools.testing.Fingerprint
[error] )
[error] classOf[org.scalatools.testing.Fingerprint]
[error] )
[error] )
[error] )
[error] DefDef( // val tests(): Array[org.scalatools.testing.Fingerprint] in class WrappedTestNGFramework
[error] <method> <stable> <accessor>
[error] "tests"
[error] []
[error] List(Nil)
[error] <tpt> // tree.tpe=Array[org.scalatools.testing.Fingerprint]
[error] WrappedTestNGFramework.this."tests " // private[this] val tests: Array[org.scalatools.testing.Fingerprint] in class WrappedTestNGFramework
[error] )
[error] DefDef( // def testRunner(testClassLoader: ClassLoader,loggers: Array[org.scalatools.testing.Logger]): com.linkedin.plugin.WrappedTestNGRunner in class WrappedTestNGFramework
[error] <method>
[error] "testRunner"
[error] []
[error] // 1 parameter list
[error] ValDef( // testClassLoader: ClassLoader
[error] <param> <triedcooking>
[error] "testClassLoader"
[error] <tpt> // tree.tpe=ClassLoader
[error] <empty>
[error] )
[error] ValDef( // loggers: Array[org.scalatools.testing.Logger]
[error] <param> <triedcooking>
[error] "loggers"
[error] <tpt> // tree.tpe=Array[org.scalatools.testing.Logger]
[error] <empty>
[error] )
[error] <tpt> // tree.tpe=com.linkedin.plugin.WrappedTestNGRunner
[error] Apply( // def <init>(testClassLoader: ClassLoader,loggers: Array[org.scalatools.testing.Logger],state: de.johoop.testnginterface.TestRunState): com.linkedin.plugin.WrappedTestNGRunner in class WrappedTestNGRunner
[error] new com.linkedin.plugin.WrappedTestNGRunner."<init>" // def <init>(testClassLoader: ClassLoader,loggers: Array[org.scalatools.testing.Logger],state: de.johoop.testnginterface.TestRunState): com.linkedin.plugin.WrappedTestNGRunner in class WrappedTestNGRunner
[error] // 3 arguments
[error] "testClassLoader" // testClassLoader: ClassLoader
[error] "loggers" // loggers: Array[org.scalatools.testing.Logger]
[error] WrappedTestNGFramework.this."sharedState" // private[this] val sharedState: de.johoop.testnginterface.TestRunState in class WrappedTestNGFramework
[error] )
[error] )
[error] ValDef( // private[this] val sharedState: de.johoop.testnginterface.TestRunState in class WrappedTestNGFramework
[error] private <local> <triedcooking>
[error] "sharedState"
[error] <tpt> // tree.tpe=de.johoop.testnginterface.TestRunState
[error] Apply( // def <init>(): de.johoop.testnginterface.TestRunState in class TestRunState, tree.tpe=de.johoop.testnginterface.TestRunState
[error] new de.johoop.testnginterface.TestRunState."<init>" // def <init>(): de.johoop.testnginterface.TestRunState in class TestRunState, tree.tpe=()de.johoop.testnginterface.TestRunState
[error] Nil
[error] )
[error] )
[error] DefDef( // def testRunner(x$1: ClassLoader,x$2: Array[org.scalatools.testing.Logger]): org.scalatools.testing.Runner in class WrappedTestNGFramework
[error] <method> <bridge>
[error] "testRunner"
[error] []
[error] // 1 parameter list
[error] ValDef( // x$1: ClassLoader
[error] <param> <synthetic>
[error] "x$1"
[error] <tpt> // tree.tpe=ClassLoader
[error] <empty>
[error] )
[error] ValDef( // x$2: Array[org.scalatools.testing.Logger]
[error] <param> <synthetic>
[error] "x$2"
[error] <tpt> // tree.tpe=Array[org.scalatools.testing.Logger]
[error] <empty>
[error] )
[error] <tpt> // tree.tpe=org.scalatools.testing.Runner
[error] Apply( // def testRunner(testClassLoader: ClassLoader,loggers: Array[org.scalatools.testing.Logger]): com.linkedin.plugin.WrappedTestNGRunner in class WrappedTestNGFramework
[error] WrappedTestNGFramework.this."testRunner" // def testRunner(testClassLoader: ClassLoader,loggers: Array[org.scalatools.testing.Logger]): com.linkedin.plugin.WrappedTestNGRunner in class WrappedTestNGFramework
[error] // 2 arguments
[error] "x$1" // x$1: ClassLoader
[error] "x$2" // x$2: Array[org.scalatools.testing.Logger]
[error] )
[error] )
[error] )
[error]
[error] uncaught exception during compilation: scala.reflect.internal.Types$TypeError
[error] /home/bliang/Projects/play-testng-plugin/helpers/src/main/java/com/linkedin/plugin/NGTests.java:119: cannot find symbol
[error] symbol : constructor FakeApplication(java.io.File,java.lang.ClassLoader,java.util.Map<java.lang.String,java.lang.String>,java.util.List<java.lang.String>)
[error] location: class play.test.FakeApplication
[error] return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins());
[error] ^
[error] Note: /home/bliang/Projects/play-testng-plugin/helpers/src/main/java/com/linkedin/plugin/NGTests.java uses unchecked or unsafe operations.
[error] Note: Recompile with -Xlint:unchecked for details.
[error] 1 error
[trace] Stack trace suppressed: run last play-plugins-testng/compile:compile for the full output.
[error] (play-plugins-testng/compile:compile) scala.reflect.internal.Types$TypeError: bad symbolic reference. A signature in EventRecorder.class refers to term testng
[error] in package org which is not available.
[error] It may be completely missing from the current classpath, or the version on
[error] the classpath might be incompatible with the version used when compiling EventRecorder.class.
[error] (play-testng-helpers/compile:compile) javac returned nonzero exit code
[error] Total time: 4 s, completed Aug 28, 2013 5:36:20 PM
差异如下:
diff --git a/plugin/src/main/scala/NGPlugin.scala b/plugin/src/main/scala/NGPlugin.scala
index e3f7c67d5386c3737ea5c4c31c30e83a47111471..89ae5687d371e0b353dd39f869d31afb81844085 100644
--- a/plugin/src/main/scala/NGPlugin.scala
+++ b/plugin/src/main/scala/NGPlugin.scala
@@ -44,7 +44,7 @@ object NGPlugin extends Plugin {
libraryDependencies <++= (testNGVersion in Test)(v => Seq(
"org.testng" % "testng" % v % "test->default",
// If changing this, be sure to change in Build.scala also.
- "de.johoop" %% "sbt-testng-interface" % "2.0.3" % "test"))
+ "de.johoop" % "sbt-testng-interface_2.10" % "3.0.0" % "test"))
)
private def playLoggerClass(loader: ClassLoader) = {
@@ -74,4 +74,4 @@ class WrappedTestNGRunner(testClassLoader: ClassLoader, loggers: Array[Logger],
override def run(testClassname: String, fingerprint: Fingerprint, eventHandler: EventHandler, testOptions: Array[String]) = {
super.run(testClassname, fingerprint, eventHandler, testOptions)
}
-}
+}
\ No newline at end of file
diff --git a/project/Build.scala b/project/Build.scala
index aee26f3af24644fa9bdb39f1d317a91b60d2618c..2a62dd04be0a68aab11c0b07edaf8e0c283afcf7 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -21,6 +21,7 @@ object NGPluginBuild extends Build {
url(ArtifactoryBaseUrl + "CORE"))(LinkedInPatterns)
val typeSafeReleases = "TypeSafeRelease" at "http://repo.typesafe.com/typesafe/releases/"
+ val sonaTypeReleases = "Sonatype OSS Releases" at "https://oss.sonatype.org/content/repositories/releases/"
}
lazy val root = Project("root", file("."),
@@ -34,7 +35,7 @@ object NGPluginBuild extends Build {
settings = commonSettings ++ Seq(
libraryDependencies ++= Seq(
"org.testng" % "testng" % "6.4", // % "provided"
- "play" %% "play-test" % "2012.09.20.1886ca6" //% "provided"
+ "play" % "play-test_2.10" % "2.2-SNAPSHOT" //% "provided"
)))
lazy val NGPlugin = Project(
@@ -45,16 +46,16 @@ object NGPluginBuild extends Build {
libraryDependencies <++= (scalaVersion, sbtVersion) {
case (scalaVersion, sbtVersion) => Seq(
// If changing this, be sure to change in NGPlugin.scala also.
- sbtPluginExtra("de.johoop" % "sbt-testng-plugin" % "2.0.3", "0.12", scalaVersion),
- "de.johoop" %% "sbt-testng-interface" % "2.0.3"
+ sbtPluginExtra("de.johoop" % "sbt-testng-plugin" % "3.0.0", "0.13", "2.10"),
+ "de.johoop" % "sbt-testng-interface_2.10" % "3.0.0"
)
}))
lazy val commonSettings: Seq[Setting[_]] = Project.defaultSettings ++ publishSettings ++ Seq(
organization := "com.linkedin",
- scalaVersion := "2.9.2",
+ scalaVersion := "2.10.1",
version := "2012.09.20.1886ca6-v5",
- resolvers ++= Seq(Repos.localRepo, Repos.sandbox, Repos.typeSafeReleases))
+ resolvers ++= Seq(Repos.localRepo, Repos.sandbox, Repos.typeSafeReleases, Repos.sonaTypeReleases))
lazy val publishSettings: Seq[Setting[_]] = Seq(
// publishTo <<= version { (v: String) =>
diff --git a/project/build.properties b/project/build.properties
index a8c2f849be3cf976d18427f666d9e6d433d189b2..0974fce44da5f8a84f7e1efe6aff9ebb25d128f6 100755
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=0.12.0
+sbt.version=0.13.0
diff --git a/sample/project/build.properties b/sample/project/build.properties
index a8c2f849be3cf976d18427f666d9e6d433d189b2..0974fce44da5f8a84f7e1efe6aff9ebb25d128f6 100644
--- a/sample/project/build.properties
+++ b/sample/project/build.properties
@@ -1 +1 @@
-sbt.version=0.12.0
+sbt.version=0.13.0
最佳答案
编译错误是由 FakeApplication(...) 的签名更改引起的。
Uncaught exception during compilation: scala.reflect.internal.Types$TypeError
[error] /home/bliang/Projects/play-testng-plugin/helpers/src/main/java/com/linkedin/plugin/NGTests.java:119: cannot find symbol
[error] symbol : constructor FakeApplication(java.io.File,java.lang.ClassLoader,java.util.Map<java.lang.String,java.lang.String>,java.util.List<java.lang.String>)
[error] location: class play.test.FakeApplication
[error] return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins());
你需要改变
return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins());
到
return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins(), null);
在 NGTest.java 中:119
您还可能会遇到类路径问题,因为类路径中播放的版本不同。Play 的 groupId 在 2.2.x 中从“play”更改为“com.typesafe.play”,这可能是个问题,因为 sbt 会将不同版本的 play-* 视为不同的工件,因此不会检测冲突的版本。
关于scala - scala 2.10/sbt 0.13 升级时出现奇怪的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18500691/
我一直在读到,如果一个集合“被释放”,它也会释放它的所有对象。另一方面,我还读到,一旦集合被释放,集合就会释放它的对象。 但最后一件事可能并不总是发生,正如苹果所说。系统决定是否取消分配。在大多数情况
我有一个客户端-服务器应用程序,它使用 WCF 进行通信,并使用 NetDataContractSerializer 序列化对象图。 由于服务器和客户端之间传输了大量数据,因此我尝试通过微调数据成员的
我需要有关 JMS 队列和消息处理的帮助。 我有一个场景,需要针对特定属性组同步处理消息,但可以在不同属性组之间同时处理消息。 我了解了特定于每个属性的消息组和队列的一些知识。我的想法是,我想针对
我最近开始使用 C++,并且有一种强烈的冲动 #define print(msg) std::cout void print(T const& msg) { std::cout void
我已经为使用 JGroups 编写了简单的测试。有两个像这样的简单应用程序 import org.jgroups.*; import org.jgroups.conf.ConfiguratorFact
这个问题在这里已经有了答案: Firebase messaging is not supported in your browser how to solve this? (3 个回答) 7 个月前关
在我的 C# 控制台应用程序中,我正在尝试更新 CRM 2016 中的帐户。IsFaulted 不断返回 true。当我向下钻取时它返回的错误消息如下: EntityState must be set
我正在尝试通过 tcp 将以下 json 写入 graylog 服务器: {"facility":"GELF","file":"","full_message":"Test Message Tcp",
我正在使用 Django 的消息框架来指示成功的操作和失败的操作。 如何排除帐户登录和注销消息?目前,登录后登陆页面显示 已成功登录为“用户名”。我不希望显示此消息,但应显示所有其他成功消息。我的尝试
我通过编写禁用qDebug()消息 CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT 在.pro文件中。这很好。我想知道是否可以
我正在使用 ThrottleRequest 来限制登录尝试。 在 Kendler.php 我有 'throttle' => \Illuminate\Routing\Middleware\Throttl
我有一个脚本,它通过die引发异常。捕获异常时,我想输出不附加位置信息的消息。 该脚本: #! /usr/bin/perl -w use strict; eval { die "My erro
允许的消息类型有哪些(字符串、字节、整数等)? 消息的最大大小是多少? 队列和交换器的最大数量是多少? 最佳答案 理论上任何东西都可以作为消息存储/发送。实际上您不想在队列上存储任何内容。如果队列大部
基本上,我正在尝试创建一个简单的 GUI 来与 Robocopy 一起使用。我正在使用进程打开 Robocopy 并将输出重定向到文本框,如下所示: With MyProcess.StartI
我想将进入 MQ 队列的消息记录到数据库/文件或其他日志队列,并且我无法修改现有代码。是否有任何方法可以实现某种类似于 HTTP 嗅探器的消息记录实用程序?或者也许 MQ 有一些内置的功能来记录消息?
我得到了一个带有 single_selection 数据表和一个命令按钮的页面。命令按钮调用一个 bean 方法来验证是否进行了选择。如果不是,它应该显示一条消息警告用户。如果进行了选择,它将导航到另
我知道 MSVC 可以通过 pragma 消息做到这一点 -> http://support.microsoft.com/kb/155196 gcc 是否有办法打印用户创建的警告或消息? (我找不到谷
当存在大量节点或二进制数据时, native Erlang 消息能否提供合理的性能? 情况 1:有一个大约 50-200 台机器的动态池(erlang 节点)。它在不断变化,每 10 分钟大约添加或删
我想知道如何在用户登录后显示“欢迎用户,您已登录”的问候消息,并且该消息应在 5 秒内消失。 该消息将在用户成功登录后显示一次,但在同一 session 期间连续访问主页时不会再次显示。因为我在 ho
如果我仅使用Welcome消息,我的代码可以正常工作,但是当打印p->client_name指针时,消息不居中。 所以我的问题是如何将消息和客户端名称居中,就像它是一条消息一样。为什么它目前仅将消
我是一名优秀的程序员,十分优秀!