- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 REPL 来测试我的 java 代码。我已经设置了类路径并启动了 REPL,我可以在 REPL 中访问我的应用程序类。
我启动了一个进行 Web 服务调用的方法,它抛出了 java.lang.ClassCastException。我编写了一个 java 程序,它与在 REPL 中输入的一系列命令执行相同的操作,并使用相同的类路径运行它,它运行时没有问题并给出结果。
有什么线索可以解释为什么它没有在 scala 下运行吗?scala 中的转换规则是否严格?如果我使用一个我无法控制的 API,我如何告诉 Scala 表现得像 java,这样我就可以测试我的方法,这些方法会进行大量 API 调用和其他人编写的代码。
java.lang.ClassCastException: weblogic.webservice.encoding.ImageCodec cannot be cast to weblogic.xml.schema.binding.Serializer
at weblogic.xml.schema.binding.internal.XSDTypeMapping.addOptionalEntries(XSDTypeMapping.java:762)
at weblogic.xml.schema.binding.internal.XSDTypeMapping.createOptionalMapping(XSDTypeMapping.java:665)
at weblogic.xml.schema.binding.internal.XSDTypeMapping.createPrimaryMapping(XSDTypeMapping.java:655)
at weblogic.xml.schema.binding.internal.XSDTypeMapping.createInstance(XSDTypeMapping.java:138)
at weblogic.xml.schema.binding.internal.XSDTypeMapping.<clinit>(XSDTypeMapping.java:118)
at weblogic.xml.schema.binding.internal.TypeMappingFactoryBase.createDefaultMapping(TypeMappingFactoryBase.java:18)
at weblogic.webservice.core.encoding.DefaultRegistry.<init>(DefaultRegistry.java:110)
at weblogic.webservice.core.encoding.DefaultRegistry.<init>(DefaultRegistry.java:37)
at weblogic.webservice.core.rpc.ServiceImpl.<init>(ServiceImpl.java:91)
由于许多人要求源代码来回答这个问题,因此这是我在 scala REPL 中输入的片段。它进行的 API 调用受版权保护,无法在此处共享,我可以回答问题以提供有关此问题的更多信息,而不会违反规范。
val clientManager=new ClientManager()
val client=clientManager.getClient(<clientId>)
/*client location is stored in another system which exposes its data as a webservice.
We use weblogic tools to compile the WSDL to create client (Web service client, not to
be confused with the client object which represent a customer) to access the system
hosting the data*/
val res=client.getLocation //exception is thrown at this line where a web-service call is made
我做了一些不同的事情,这次我得到了完全不同的异常我没有使用 val res=client.getLocation
,而是使用 client.getLocation
而不将其分配给变量,这次抛出的异常是
java.lang.NoClassDefFoundError: Could not initialize class weblogic.xml.schema.binding.internal.XSDTypeMapping
at weblogic.xml.schema.binding.internal.TypeMappingFactoryBase.createDefaultMapping(TypeMappingFactoryBase.java:18)
at weblogic.webservice.core.encoding.DefaultRegistry.<init>(DefaultRegistry.java:110)
at weblogic.webservice.core.encoding.DefaultRegistry.<init>(DefaultRegistry.java:37)
at weblogic.webservice.core.rpc.ServiceImpl.<init>(ServiceImpl.java:91)
我使用 -nobootcp
选项运行解释,它运行时没有抛出上面的任何异常,但在这两种情况下我得到的结果都是 null
有人使用 Scala REPL 来测试由 weblogic 10.3 生成的 stub 编写的客户端并成功使用它吗?
最佳答案
您的堆栈跟踪与 Scala 无关。异常发生在某些 weblogic 代码深处。您认为为什么 Scala 会导致这个问题?最可能的原因是库不匹配,例如您在 Scala 测试中使用的类路径与 Java 测试中不同。
不过,我会尝试回答您隐含的问题:对于可以在 Java 和 Scala 中等效表达的引用类型,Scala 的转换规则与 Java 的相同。
关于java - 如何使用 Scala REPL 来测试 java 代码 - java 和 scala REPL 给出不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342276/
我有一些 Scala 代码,它用两个不同版本的类型参数化函数做了一些漂亮的事情。我已经从我的应用程序中简化了很多,但最后我的代码充满了形式 w(f[Int],f[Double]) 的调用。哪里w()是
如果我在同一目录中有两个单独的未编译的 scala 文件: // hello.scala object hello { def world() = println("hello world") }
val schema = df.schema val x = df.flatMap(r => (0 until schema.length).map { idx => ((idx, r.g
环境: Play 2.3.0/Scala 2.11.1/IntelliJ 13.1 我使用 Typesafe Activator 1.2.1 用 Scala 2.11.1 创建一个新项目。项目创建好后
我只是想知道如何使用我自己的类扩展 Scala 控制台和“脚本”运行程序,以便我可以通过使用实际的 Scala 语言与其通信来实际使用我的代码?我应将 jar 放在哪里,以便无需临时配置即可从每个 S
我已经根据 README.md 文件安装了 ensime,但是,我在低级 ensime-server 缓冲区中出现以下错误: 信息: fatal error :scala.tools.nsc.Miss
我正在阅读《Scala 编程》一书。在书中,它说“一个函数文字被编译成一个类,当在运行时实例化时它是一个函数值”。并且它提到“函数值是对象,因此您可以根据需要将它们存储在变量中”。 所以我尝试检查函数
我有 hello world scala native 应用程序,想对此应用程序运行小型 scala 测试我使用通常的测试命令,但它抛出异常: NativeMain.scala object Nati
有few resources在网络上,在编写与代码模式匹配的 Scala 编译器插件方面很有指导意义,但这些对生成代码(构建符号树)没有帮助。我应该从哪里开始弄清楚如何做到这一点? (如果有比手动构建
我是 Scala 的新手。但是,我用 创建了一个中等大小的程序。斯卡拉 2.9.0 .现在我想使用一个仅适用于 的开源库斯卡拉 2.7.7 . 是吗可能 在我的 Scala 2.9.0 程序中使用这个
有没有办法在 Scala 2.11 中使用 scala-pickling? 我在 sonatype 存储库中尝试了唯一的 scala-pickling_2.11 工件,但它似乎不起作用。我收到消息:
这与命令行编译器选项无关。如何以编程方式获取代码内的 Scala 版本? 或者,Eclipse Scala 插件 v2 在哪里存储 scalac 的路径? 最佳答案 这无需访问 scala-compi
我正在阅读《Scala 编程》一书,并在第 6 章中的类 Rational 实现中遇到了一些问题。 这是我的 Rational 类的初始版本(基于本书) class Rational(numerato
我是 Scala 新手,我正在尝试开发一个使用自定义库的小项目。我在库内创建了一个mysql连接池。这是我的库的build.sbt organization := "com.learn" name :
我正在尝试运行一些 Scala 代码,只是暂时打印出“Hello”,但我希望在 SBT 项目中编译 Scala 代码之前运行 Scala 代码。我发现在 build.sbt 中有以下工作。 compi
Here链接到 maven Scala 插件使用。但没有提到它使用的究竟是什么 Scala 版本。我创建了具有以下配置的 Maven Scala 项目: org.scala-tools
我对 Scala 还很陌生,请多多包涵。我有一堆包裹在一个大数组中的 future 。 future 已经完成了查看几 TB 数据的辛勤工作,在我的应用程序结束时,我想总结上述 future 的所有结
我有一个 scala 宏,它依赖于通过包含其位置的静态字符串指定的任意 xml 文件。 def myMacro(path: String) = macro myMacroImpl def myMacr
这是我的功能: def sumOfSquaresOfOdd(in: Seq[Int]): Int = { in.filter(_%2==1).map(_*_).reduce(_+_) } 为什么我
这个问题在这里已经有了答案: Calculating the difference between two Java date instances (45 个答案) 关闭 5 年前。 所以我有一个这
我是一名优秀的程序员,十分优秀!