当前位置: 首页 > 知识库问答 >
问题:

EJB容器初始化错误,无法调用定义类

丌官寒
2023-03-14

我的玻璃鱼在我尝试跑步时抛出一个异常。

[2018-02-22T17:07:04.135 0100][glassfish 5.0][Severy][javax.enterprise.system.core][tid:_ThreadID=46 _ThreadName=admin listener(4)][timeMillis:1519315624135][levelValue:1000][加载应用时异常:EJB容器初始化错误java.lang RuntimeException:无法调用defineClass!

我在这里上传了服务器日志:https://pastebin.com/cB0EgG4Y

用户道

@Stateless
class UserDao : Abstract<User>() {
    override fun getEntityClass(): Class<User> {
        return User::class.java
    }
}

抽象

@Stateless
abstract class Abstract<T : Model> {
    @PersistenceContext(unitName = "kwetter")
    private lateinit var entityManager: EntityManager

    abstract fun getEntityClass(): Class<T>

    fun find(id: Int): T {
        return entityManager.find(getEntityClass(), id)
    }
}

服务

@Stateless
class UserService {
    @Inject private var userDao: UserDao? = null

    fun find(id: Int): User {
        return userDao!!.find(id)
    }
}

APIendpoint

@Stateless
@Named
@Path("/users")
class Users {
    @Inject private var userService: UserService? = null

    @GET
    @Path("/{id}")
    @Produces("application/json")
    fun single(@PathParam("id") id: Int): User {
        return userService!!.find(id)
    }
}

共有2个答案

归明诚
2023-03-14

您还可以使用所有打开的编译器插件:https://kotlinlang.org/docs/reference/compiler-plugins.html#all-开放编译器插件

静态编程语言默认具有类及其成员最终,这使得使用要求类打开的框架和库(如Spring AOP)不方便。全开放编译器插件使静态编程语言适应这些框架的要求,并使用特定注释注释的类和它们的成员在没有显式开放关键字的情况下打开

另见:https://dzone.com/articles/the-state-of-kotlin-for-jakarta-eemicroprofile-tra

秋建义
2023-03-14

在静态编程语言中,默认情况下,所有类都是隐式的最终,因此日志中出现以下错误:

原因:java。lang.VerifyError:无法从java的最终类继承。lang.ClassLoader。在java上定义Class1(本机方法)。lang.ClassLoader。defineClass(ClassLoader.java:763)

如果要扩展课程,请将其标记为打开:

类上的开放注释与Java的final相反:它允许其他人从这个类继承。默认情况下,Kotlin中的所有类都是final,对应于有效的Java,第17项:继承的设计和文档,否则禁止继承。

https://kotlinlang.org/docs/reference/classes.html#inheritance

 类似资料:
  • 我正在尝试实现EJB命令来通信两个jsf项目。 我创建了一个EAR,其中有我的两个jsf项目+ejb。

  • 问题内容: 当我运行项目时,会收到此错误的大量输出: 我注意到此问题的出现方式是在整个网络上被询问,但没有真正的答案。这种错误的一般原因是什么? 问题答案: NoClassDefFound错误是一个模糊的错误,通常隐藏着更严重的问题。它是不一样的ClassNotFoundException(被抛出时,该类只是普通的不存在)。 如javadocs所示,NoClassDefFound 可能指示该类不存

  • 我用Xcode开发了一个“Hello iOS”应用程序,可以在iOS模拟器上用Appium进行测试。然而,当我试图在真正的iPhone/iPad设备上测试同一个应用程序时,我收到了以下错误消息。 这是我的环境。 我尝试了这个命令“brew安装--HEAD ideviceInster”,但得到了另一条错误消息。 有什么解决办法吗?谢谢

  • 我需要在Gradle中查看我的依赖项,以修复多个SLF4J绑定的问题。 但是,当我运行“Gradle依赖项”时,我得到错误: 无法初始化类org.codehaus.groovy.runtime.InvokerHelper 在堆栈溢出的类似问题中,Android Studio无法初始化类org.codehaus.groovy.runtime.InvokerHelper 建议 安装Java jdk-1

  • 问题内容: 我正在尝试将程序编译为一个共享库,可以在使用ctypes的Python代码中使用该共享库。 使用以下命令,库可以正常编译: 但是,当我尝试使用ctypes导入它时 我收到以下错误: 这是怎么回事? 问题答案: 非常令人沮丧的是,没有人真正显示出具体的解决方案。安装OpenCV后出现此问题。对我来说,删除此警告最简单的方法是禁用此驱动程序:

  • 问题内容: 这段代码适用于第一个XCode 6 Beta,但在最新的Beta中,它不起作用,并显示以下错误 : 这就是此类的初始化方式: 我坚持下去..最简单的解决方法是什么? 问题答案: 是SKSpriteNode类中唯一指定的初始值设定项,其余都是方便的初始值设定项,因此您不能在它们上调用super。将代码更改为此: 此外,我会将所有这些整合到一个初始化器中。