我正在将数据库从11G迁移到12C。应用程序当前正在java5上运行,并使用ojdbc14.jar当我移到ojdbc6.jar时,我得到
java.lang.IllegalAccessError: tried to access class oracle.jdbc.driver.OracleResultSet
打开两个jar文件并进行比较后,我发现ojdbc6.jar中不再提供OracleResultSet上的访问修饰符
问题:是否有一种方法可以在运行时通过java参数覆盖类中的导入,而不是更改类并重新编译代码。问题是,我不再有源代码,因此正在寻找一种方法来覆盖特定类中的导入。
我了解导致错误的原因或原因,需要知道是否有办法在运行时覆盖导入。
import oracle.jdbc.driver.OracleResultSet;
import java.sql.ResultSet;
import java.sql.Clob;
import java.sql.PreparedStatement;
.
.other imports
我可以将导入更改为oracle.jdbc.OracleResultSet,它将起作用。但是由于源代码不再可用,我将不得不在.class文件中进行直接更改。