java - mod-mysql-postgresql 在启动期间尝试下载 io.vertx~lang-scala~1.0.0 模块

标签 java scala vert.x

我正在使用 mod-mysql-postgresql 模块作为我的项目的一部分。在启动过程中,我注意到 mod-mysql-postgresql 尝试下载 io.vertx~lang-scala~1.0.0 。我在启动消息中收到以下行

信息:正在下载 io.vertx~lang-scala~1.0.0。请稍等...

我不确定 io.vertx~lang-scala~1.0.0 行来自哪里。如果我在 mod.json“includes”部分中包含 io.vertx~lang-scala~1.0.0,那么我不会收到此错误。但是应用程序失败并出现以下错误

java.lang.LinkageError: loader constraint violation: loader (instance of org/vertx/java/platform/impl/ModuleClassLoader) previously initiated loading for a different type with name "org/vertx/scala/core/VertxAccess"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at org.vertx.java.platform.impl.ModuleClassLoader.doLoadClass(ModuleClassLoader.java:136)
at org.vertx.java.platform.impl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:121)
at org.vertx.java.platform.impl.ModuleClassLoader.loadClass(ModuleClassLoader.java:108)

环境详细信息:

Vertx版本:2.1.5
mod-mysql-postgresql 版本:0.3.1

vertx/conf/langs.properties 中的 Scala 条目
scala=io.vertx~lang-scala_2.10~1.1.0-M1:org.vertx.scala.platform.impl.ScalaVerticleFactory

最佳答案

问题不在 mod-mysql-postgresql 中。 Vertx fatjar 尝试对 scala 文件使用默认的 io.vertx~lang-scala~1.0.0 mod。为了覆盖默认设置,我在 src/main/resources/platform_lib 中添加了 langs.properties 并添加了以下几行

scala=io.vertx~lang-scala_2.10~1.1.0-M1:org.vertx.scala.platform.impl.ScalaVerticleFactory .scala=scala

并在mod.json中添加了io.vertx~lang-scala_2.10~1.1.0-M1

{ "main":"Main", "auto-redeploy": true, "includes":"io.vertx~lang-scala_2.10~1.1.0-M1", }

关于java - mod-mysql-postgresql 在启动期间尝试下载 io.vertx~lang-scala~1.0.0 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29223575/

相关文章:

node.js - Vertx、Node 或 Play 用于异步调用多个 Web 服务

java - Db4o 数据连接错误

java - 安卓无法打开我的应用程序

java - 使用 java NIO 选择器发送文件

json - 如何在平面级别将 JsValue 合并到 JsObject

scala - 将scala-compiler.jar添加为运行时依赖项

scala - 如何制作默认响应 Content-type : application/json with Scalatra

java - intellij 上的 vertx-hk2 和 vertx-jersey 拆分包问题

java - 使用 + 符号 in .split 给出错误原因

java - Vert.x Oauth 2 授权服务器