java.lang.Error: Unresolved compilation problems

一般有两种常见的情况:

1、当一个 jar 文件的 MANIFEST.MF 中已经标记了 Sealed: true 时,这个 jar 内所有的 java package 中的类必须来自这个 jar 包,这是 JVM 的安全措施,配合数字签名就能防止篡改,微软就把它的 SQLServer 驱动程序签名了。比如,JRE 的 rt.jar 就是 Sealed,所以你自己创建一个类 java.lang.MyClass 来运行的话,JVM 是拒绝的。

通常情况下,如果你使用了基于动态代理的 AOP,比如 Hibernate 延迟加载或 Spring 的 AOP 就可能因为临时生成的一个子类本身生成在内存中而不是来自某个 jar 包,这时如果这个 jar 包是 Sealed 就无法工作,比如 Microsoft SQLServer JDBC 驱动程序在 Sealed 时你用 Hibernate 的延迟加载就会出错,因为 Hibernate 生成的代理类继承了某个 JDBC 驱动包内的类但这个驱动包是 Sealed,生成的类的包名在驱动名的 jar 中就会出错。

2、可能是类版本错误。这个错误是你说你当前的某个类它引用到的其它类库的版本与这个类在编译时所用的版本不相同 ,比如:你的类 A 用了 c_1.0.jar 中的某个类,编译之后拿到服务器上去用,但服务器上的只有 c_1.1.jar 这个类,它的版本与 c_1.0.jar 某个用到的类略有差异。

 

解决方式 : 1. 检查 引入路径 

      2.    是否忘了添加这个jar包

转载于:https://www.cnblogs.com/null/p/11205022.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,"Exception in thread "main" java.lang.Error: Unresolved compilation problems"是Java编译错误的一种常见形式。这种错误通常表示在编译代码时发生了一些问题,导致无法解析编译问题。这可能是由于语法错误、缺少依赖项、错误的类或方法引用等原因引起的。 为了解决这个问题,你可以尝试以下几个步骤: 1. 检查代码中的语法错误:仔细检查代码中是否存在拼写错误、缺少分号、括号不匹配等语法错误。修复这些错误可能会解决编译问题。 2. 检查依赖项:如果代码中使用了外部库或依赖项,请确保这些依赖项已正确导入并配置。如果缺少依赖项,可以尝试手动添加它们或使用构建工具(如Maven或Gradle)来管理依赖项。 3. 检查类或方法引用:如果代码中引用了其他类或方法,请确保这些类或方法存在且可访问。如果引用的类或方法不存在或不可访问,编译错误就会发生。确保你正确导入了所需的类,并检查访问修饰符是否正确。 4. 检查编译环境:有时,编译错误可能与编译环境有关。确保你使用的是正确的JDK版本,并检查编译器和构建工具的配置是否正确。 5. 检查编译器选项:某些编译器选项可能会导致编译错误。检查编译器选项是否正确设置,并尝试调整它们以解决问题。 请注意,以上步骤仅为常见解决方法,具体解决方法可能因具体情况而异。如果以上方法无法解决问题,请提供更多的错误信息和代码示例,以便更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值