- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在此处输入代码
我们使用 c3p0 jar 进行数据库池。现在,从 c3p0 代码中,出现以下异常
引起:java.lang.IllegalAccessError:尝试从类 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource 访问类 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource$1 在 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.setUpPropertyEvents(AbstractPoolBackedDataSource.java:74) 在 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource。(AbstractPoolBackedDataSource.java:63) 在 com.mchange.v2.c3p0.ComboPooledDataSource。(ComboPooledDataSource.java:109) 在 com.mchange.v2.c3p0.ComboPooledDataSource.(ComboPooledDataSource.java:105)
现在位于 AbstractPoolBackedDataSource.java(第 74 行)PropertyChangeListener l = new PropertyChangeListener()
PropertyChangeListener l = new PropertyChangeListener()
{
public void propertyChange( PropertyChangeEvent evt )
{ resetPoolManager(); }
};
所以,PropertyChangeListener是这里的内部类.. AbstractPoolBackedDataSource$1PropertyChangeListener 是一个 java 类 java.beans.PropertyChangeListener !!
可能是什么原因?这仅发生在 linux(suse 10) 中。在 Windows 中它工作正常(jdk 1.6_10 和 jre 1.6_20)。我尝试过不同的 jdk、jre 组合(jdk 1.6_25 等)
最佳答案
我通过一些尝试和错误解决了这个问题。
我还发现,这并不像我之前怀疑的那样可靠。这很容易重现,看起来像是一个潜在的类加载错误。(尽管我不确定它是在 Equinox 实现中还是在 Java 中!!)。
在解释解决方案之前,让我更详细地描述一下场景。
我们已将代码部署在 osgi(equinox) 框架中。有两个包使用 c3p0 jar 进行数据库池,其中之一导出 c3p0 包。该 bundle 先于另一个 bundle 启动。
现在,根据 osgi 规范,osgi 类加载器应该为单独的包维护单独的类加载器实例。现在,当第二个包尝试从 c3p0 jar 加载类时,它的类加载器可能会发现(从父委托(delegate))这些类已经加载了!但它们是从不同的上下文加载的,这导致了访问冲突。
这是初步发现,我将尝试使用 Eclipse 代码进行调试,并可能会深入研究它。更改 bundle 启动顺序后,此问题已解决。
关于class - Linux 中抛出 IllegalAccessError ( suse 10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7873753/
我在运行 Android 仪器测试时收到 IllegalAccessError。 这是 Logcat 输出: java.lang.IllegalAccessError: Class ref in pr
当我运行下面的源代码时,我在 shell 窗口中看到的运行时错误如下: Exception in thread "main" java.lang.IllegalAccessError: tried t
我在我的类方法中遇到了与 IllegalAccessError 相关的问题(仅在 Android 8 设备上) 我更新了: Android Studio 到 3.3 Gradle 到 3.3.0 的
我目前正在对未记录的代码进行维护,并且在 Spring Boot 中运行类时偶然发现了一个奇怪的错误。代码在执行时会引发 IllegalAccessError,但可以正确编译。 似乎原始团队尝试访问
我正在为类(class)设置我的第一个程序,但我一直困惑为什么我的程序无法运行并尝试调试。我需要做什么来调试这个错误? 我尝试添加库,但这似乎不起作用。 import javafx.event.Act
我正在翻译 this code到 Clojure。如您所见,我必须扩展 ArthurFrame 类,但每次使用 (proxy [ArthurFrame] [] ... )。 知道为什么吗?这是 cla
我有以下情况: 同一工作区中的 2 个 Eclipse 项目:Apa 和 Bepa(为简洁起见,使用化名)。 Apa 项目引用(包括)Bepa 项目。 我在 Bepa 有一个类 X,具有公共(publ
Oracle JavaDocs 解释说 IllegalAccessError 是 "Thrown if an application attempts to access or modify a fi
我目前正在编写一个自动更新程序,它可以从 GitHub 下载最新版本的插件。我禁用了该插件,我可以替换它,现在我想启用它,但出现以下错误 java.lang.IllegalAccessError: t
我有一个简单的函数,用于从所选目录加载类“Myclass”。 // Variables File temp = new File("some path..."); String
在下面的代码中,我给出了两个主要类 - TestWorks 和 TestCompilesButFails。我不确定我是否理解失败 - 似乎 Arrays.asList() 表达式被赋予类型“Abstr
我创建了一个自定义 ParquetOutputFormat(org.apache.parquet.hadoop 中的类)来覆盖 getRecordWriter 方法。在 getRecordWriter
我正在开发一个旨在使用 Renderscript 支持库的应用程序。使用 Android Studio 0.5.4 和 Gradle 1.11 进行开发。 配置我使用的渲染脚本 android {
我的应用程序在 5+ 和 6+ 上完美运行,但在 7 上却不行。当应用程序尝试登录服务器时抛出此异常: 09-01 09:52:53.821 2654-2718/com.pipodi.italians
我昨天买了一台新电脑 (Dell XPS 13)。我刚刚安装了 JDK 并将我所有的旧 Java 项目复制到我的新设备上,但是当我尝试运行这些程序中的任何一个时,我遇到了非法访问错误。 编辑:注意:在
我正在用 jackson 开发软件,但完全卡住了......当我用 java -jar .jar 运行 spring-boot 程序时命令,我收到以下错误: ... Caused by: org.sp
IllegalAccessError 类有两个构造函数,IllegalAccessError() 和 IllegalAccessError(String s)。 为什么 IllegalAccessEr
我找到了 this JDK bug并想了解它发生的原因。 场景(取自 the bug report)非常简单:一个 class 声明一个 private 方法,一个 interface 声明一个 pu
该应用程序包含一个短暂显示的初始屏幕,该 Activity 正在使用 IdlingResource 进行插桩测试,以便测试知道初始屏幕何时关闭。问题是 SplashActivity 在运行 API 1
我是一名具有编写 PHP、python 和 ruby 经验的新手工程师。我正在尝试为一个用 clojure 编写的项目做出贡献。我正在尝试向项目添加一个库,但在添加库并运行后 lein uberj
我是一名优秀的程序员,十分优秀!