META-INF/MANIFEST.MF文件中Sealed头的作用与含义

本文介绍了JAR文件中的Sealed属性,解释了其用于确保包内所有类在同一JAR中,增强版本一致性并提供安全防护。当尝试从外部加载密封包内的类时,JVM会抛出SecurityException。通过实例说明,如在hibernate场景下,Sealed属性防止不同版本jar间类的混乱调用,避免潜在问题。同时,举例gbase打包时因包名冲突导致的问题及JVM如何处理此类情况。
摘要由CSDN通过智能技术生成
    政府某部门想打造一个国产软件平台,从硬件服务器、操作系统、数据库、应用服务器中间件等全部采用国产平台,并将一个运行良好的应用软件进行改造,以适应国产数据库与原Oracle数据库在SQL语句、系统函数等方面的不同。

    apusic应用服务器作为国产应用服务器中间件参与了移植测试和压力测试工作。首先跟应用软件开发商基于oracle数据库做了移植测试,从weblogic平台移植到了apusic应用服务器,实现apusic + oracle运行正常。

    然后跟国产数据库做移植测试,国产数据库采用gbase。应用软件用到了hibernate2作为数据持久工具,由于hibernate没有内置对gbase的dialect支持,gbase厂商自己写了一个类,命名为net.sf.hibernate.dialect.GBaseDialect,并打包成gbase_dialect.jar,放到了应用软件的lib文件夹下。

    然后启动apusic应用服务器时报错:

net.sf.hibernate.MappingException: could not instantiate id generator  
        at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:82)  
        at net.sf.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:82)  
        at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.jav
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值