Java 冬眠+;Jasypt:无法解析名称。。。作为战略

Java 冬眠+;Jasypt:无法解析名称。。。作为战略,java,hibernate,jasypt,Java,Hibernate,Jasypt,我正在尝试使用Jasypt对应用程序中的hibernate.cfg.xml文件中的DB密码进行加密。 我目前正在使用Hibernate4.3.2和Jasypt 1.9.2。 以下是我的配置: hibernate.cfg.xml 启动应用程序时,会出现以下错误: jasypt-1.9.2.jar和jasypt-hibernate4-1.9.2.jar正确地包含在类路径中。 有点奇怪,在他们的hibernate.cfg.xml中使用了这个属性: <property name

我正在尝试使用Jasypt对应用程序中的hibernate.cfg.xml文件中的DB密码进行加密。
我目前正在使用Hibernate4.3.2和Jasypt 1.9.2。

以下是我的配置:

hibernate.cfg.xml


启动应用程序时,会出现以下错误:



jasypt-1.9.2.jar和jasypt-hibernate4-1.9.2.jar正确地包含在类路径中。
有点奇怪,在他们的hibernate.cfg.xml中使用了这个属性:

<property name="connection.provider_class">
      org.jasypt.hibernate4.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
</property>
如果我使用“org.jasypt.hibernate4.connectionprovider…”,我会得到以下错误:

juin 172014 12:44:43 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
信息:HCANN000001:Hibernate Commons注释{4.0.4.Final}
2014年12月17日下午12:44:43 org.hibernate.Version日志版本
信息:hh000412:Hibernate核心{4.3.2.Final}
juin 172014 12:44:43 PM org.hibernate.cfg.Environment
信息:HH000206:找不到hibernate.properties
2014年12月17日下午12:44:43 org.hibernate.cfg.Environment buildBytecodeProvider
信息:HH000021:字节码提供程序名称:javassist
juin 172014 12:44:43 PM org.hibernate.cfg.Configuration
信息:HH000043:从资源配置:/pappu/config/hibernate.cfg.xml
juin 172014 12:44:43 PM org.hibernate.cfg.Configuration getConfigurationInputStream
信息:hh000040:配置资源:/pappu/config/hibernate.cfg.xml
juin 172014 12:44:43 PM org.hibernate.cfg.Configuration doConfigure
信息:HH000041:配置的会话工厂:null
juin 172014 12:44:43 PM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator实例化ExplicitConnectionProvider
信息:HH000130:实例化显式连接提供程序:org.jasypt.hibernate4.connectionprovider.EncryptedPasswordDriverManager连接提供程序
初始SessionFactory创建失败。java.lang.NoClassDefFoundError:org/hibernate/service/jdbc/connections/internal/driverManager连接ProviderImpl
应用程序启动方法中的异常
线程“main”java.lang.RuntimeException中的异常:应用程序启动方法中的异常
位于com.sun.javafx.application.LaunchImpl.launchApplication1(未知源)
位于com.sun.javafx.application.launchempl.access$000(未知来源)
位于com.sun.javafx.application.launchempl$1.run(未知源)
位于java.lang.Thread.run(未知源)
原因:java.lang.ExceptionInInitializeError
位于pappu.core.db.HibernateUtil.buildSessionFactory(HibernateUtil.java:60)
位于pappu.core.db.HibernateUtil.initSessionFactory(HibernateUtil.java:98)
位于pappu.core.db.HibernateUtil.getSessionFactory(HibernateUtil.java:70)
位于pappu.core.db.HibernateUtil.getCurrentSession(HibernateUtil.java:82)
在pappu.Main.start(Main.java:23)
位于com.sun.javafx.application.launchempl$5.run(未知源)
位于com.sun.javafx.application.PlatformImpl$5.run(未知来源)
位于com.sun.javafx.application.PlatformImpl$4$1.run(未知来源)
位于com.sun.javafx.application.PlatformImpl$4$1.run(未知来源)
位于java.security.AccessController.doPrivileged(本机方法)
位于com.sun.javafx.application.PlatformImpl$4.run(未知源)
在com.sun.glass.ui.InvokeLaterDispatcher$Future.run(未知源)
在com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法)
com.sun.glass.ui.win.WinApplication.access$100(未知来源)
在com.sun.glass.ui.win.WinApplication$3$1.run(未知来源)
... 还有一个
原因:java.lang.NoClassDefFoundError:org/hibernate/service/jdbc/connections/internal/driverManager连接ProviderImpl
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClass(未知源)
位于java.security.SecureClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.access$100(未知来源)
位于java.net.URLClassLoader$1.run(未知源)
位于java.net.URLClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:222)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:240)
位于org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:125)
位于org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.InstanceExplicitConnectionProvider(ConnectionProviderInitiator.java:194)
位于org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:120)
位于org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:55)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:83)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:223)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:197)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
在org.hibernate.eng
        try {
             StandardPBEStringEncryptor strongEncryptor = new StandardPBEStringEncryptor();
             HibernatePBEEncryptorRegistry registry = HibernatePBEEncryptorRegistry.getInstance();
             strongEncryptor.setAlgorithm("PBEWithMD5AndTripleDES");
             strongEncryptor.setPassword("test");
             registry.registerPBEStringEncryptor("configurationHibernateEncryptor", strongEncryptor);       

             Configuration cfg = new Configuration().configure("/pappu/config/hibernate.cfg.xml");         
             StandardServiceRegistryBuilder sb = new StandardServiceRegistryBuilder();
             sb.applySettings(cfg.getProperties());
             StandardServiceRegistry standardServiceRegistry = sb.build();      

             return cfg.buildSessionFactory(standardServiceRegistry);          
        } catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
Initial SessionFactory creation failed.org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
    at com.sun.javafx.application.LauncherImpl.access$000(Unknown Source)
    at com.sun.javafx.application.LauncherImpl$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
    at pappu.core.db.HibernateUtil.buildSessionFactory(HibernateUtil.java:60)
    at pappu.core.db.HibernateUtil.initSessionFactory(HibernateUtil.java:98)
    at pappu.core.db.HibernateUtil.getSessionFactory(HibernateUtil.java:70)
    at pappu.core.db.HibernateUtil.getCurrentSession(HibernateUtil.java:82)
    at pappu.Main.start(Main.java:23)
    at com.sun.javafx.application.LauncherImpl$5.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$5.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$4$1.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$4$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl$4.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
    at com.sun.glass.ui.win.WinApplication$3$1.run(Unknown Source)
    ... 1 more
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:233)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:197)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
    at pappu.core.db.HibernateUtil.buildSessionFactory(HibernateUtil.java:56)
    ... 15 more
Caused by: org.hibernate.HibernateException: Could not instantiate connection provider [org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider]
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:197)
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:120)
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:55)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:83)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:223)
    ... 25 more
Caused by: org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider] as strategy [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
    at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:128)
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:194)
    ... 29 more
<property name="connection.provider_class">
      org.jasypt.hibernate4.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
</property>
org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
juin 17, 2014 12:44:43 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
juin 17, 2014 12:44:43 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.2.Final}
juin 17, 2014 12:44:43 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
juin 17, 2014 12:44:43 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
juin 17, 2014 12:44:43 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /pappu/config/hibernate.cfg.xml
juin 17, 2014 12:44:43 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /pappu/config/hibernate.cfg.xml
juin 17, 2014 12:44:43 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
juin 17, 2014 12:44:43 PM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator instantiateExplicitConnectionProvider
INFO: HHH000130: Instantiating explicit connection provider: org.jasypt.hibernate4.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/hibernate/service/jdbc/connections/internal/DriverManagerConnectionProviderImpl
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
    at com.sun.javafx.application.LauncherImpl.access$000(Unknown Source)
    at com.sun.javafx.application.LauncherImpl$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
    at pappu.core.db.HibernateUtil.buildSessionFactory(HibernateUtil.java:60)
    at pappu.core.db.HibernateUtil.initSessionFactory(HibernateUtil.java:98)
    at pappu.core.db.HibernateUtil.getSessionFactory(HibernateUtil.java:70)
    at pappu.core.db.HibernateUtil.getCurrentSession(HibernateUtil.java:82)
    at pappu.Main.start(Main.java:23)
    at com.sun.javafx.application.LauncherImpl$5.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$5.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$4$1.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$4$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl$4.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
    at com.sun.glass.ui.win.WinApplication$3$1.run(Unknown Source)
    ... 1 more
Caused by: java.lang.NoClassDefFoundError: org/hibernate/service/jdbc/connections/internal/DriverManagerConnectionProviderImpl
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:222)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:240)
    at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:125)
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:194)
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:120)
    at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:55)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:83)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:223)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:197)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
    at pappu.core.db.HibernateUtil.buildSessionFactory(HibernateUtil.java:56)
    ... 15 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 49 more