एक Gradle जावा परियोजना में हाइबरनेट 5.2.7 का उपयोग करते समय एक MariaDB 10.1.19 से कनेक्ट करने, मैं पूरा स्टैकट्रेसहाइबरनेट 5.2.7 - java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties() Ljava/util/मानचित्र;
Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:71)
at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:28)
at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:20)
at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:58)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:77)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:240)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:445)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:710)
at quantitativeAnalysis.backend.dataCollector.dataCollectorManager.createFactory(dataCollectorManager.java:280)
at quantitativeAnalysis.volatilityAnalyzer.volatilityDynamicImpl.openInstance(volatilityDynamicImpl.java:18)
at frontend.MainFrame.main(MainFrame.java:96)
मैं कई दृष्टिकोण (अन्य हाइबरनेट संस्करण की कोशिश की है एक Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
हो रही है 5.2.6 और 5.2.3) और मदद के लिए इंटरनेट खोज की, लेकिन सुझाव से कोई भी काम किया।
अपवाद यहां पाए जाते हैं:
Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
try{
factory = configuration.buildSessionFactory(ssrb.build());
}catch(Exception ex){
System.err.println("Failed to configure Sessionfactory");
ex.printStackTrace();
}
मैं भी निम्न कोड एक ही परिणाम के लिए अग्रणी की कोशिश की है:
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure() // configures settings from hibernate.cfg.xml
.build();
try {
factory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
}catch(Exception ex){
System.err.println("Failed to configure Sessionfactory");
ex.printStackTrace();
}
मेरे hibernate.cfg.xml इस
तरह लग रहा है<session-factory>
<!-- Database connection settings -->
<!-- <property name="connection.driver_class">com.mysql.jdbc.Driver</property> -->
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3307/VolatilityData</property>
<property name="connection.username">XXX</property>
<property name="connection.password">XXX</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- -->
<property name="hbm2dll.auto">create</property>
<!-- mapping content -->
<mapping resource="resources/BitcoinDaysDestroyed.hbm.xml"/>
<mapping resource="resources/BitcoinPrice.hbm.xml"/>
<mapping resource="resources/BitcoinTransactions.hbm.xml"/>
</session-factory>
जार मैं Gradle साथ शामिल निम्नलिखित हैं:
// Apply the java plugin to add support for Java
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
//jcenter()
mavenCentral()
maven {
url "https://maven.elasticsearch.org/releases"
}
}
dependencies {
// The production code uses Guava
compile 'com.google.guava:guava:20.0'
//QuantitativeAnalysis
// https://mvnrepository.com/artifact/com.toedter/jcalendar
compile group: 'com.toedter', name: 'jcalendar', version: '1.4'
// https://mvnrepository.com/artifact/javax.persistence/persistence-api
compile group: 'javax.persistence', name: 'persistence-api', version: '1.0.2'
// https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
// https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
// https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore
compile group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.5'
// https://mvnrepository.com/artifact/org.hibernate/hibernate-core
//compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.6.Final'
//antlr-2.7.7.jar, compiled from src
compile files('libs/antlr-2.7.7.jar')
//classmate-1.3.0.jar, compiled from src
compile files('libs/classmate-1.3.0.jar')
//dom4j-1.6.1.jar, compiled from src
compile files('libs/dom4j-1.6.1.jar')
//antlr-2.7.7.jar, compiled from src
compile files('libs/geronimo-jta_1.1_spec-1.1.1.jar')
//jandex-2.0.3.Final.jar, compiled from src
compile files('libs/jandex-2.0.3.Final.jar')
//javassist-3.20.0-GA.jar, compiled from src
compile files('libs/javassist-3.20.0-GA.jar')
//jboss-logging-3.3.0.Final.jar, compiled from src
compile files('libs/jboss-logging-3.3.0.Final.jar')
//hibernate-commons-annotations-5.0.1.Final.jar, compiled from src
compile files('libs/hibernate-commons-annotations-5.0.1.Final.jar')
//hibernate-jpa-2.1-api-1.0.0.Final.jar, compiled from src
compile files('libs/hibernate-jpa-2.1-api-1.0.0.Final.jar')
//hibernate-core-5.2.7.Final.jar, compiled from src
compile files('libs/hibernate-core-5.2.7.Final.jar')
//c3p0-0.9.5.2, compiled from src
compile files('libs/c3p0-0.9.5.2.jar')
//hibernate-c3p0-5.2.7.Final.jar, compiled from src
compile files('libs/hibernate-c3p0-5.2.7.Final.jar')
//mchange-commons-java-0.2.11.jar, compiled from src
compile files('libs/mchange-commons-java-0.2.11.jar')
// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5'
//QualitatitveAnalysis
// https://mvnrepository.com/artifact/log4j/log4j
compile group: 'log4j', name: 'log4j', version: '1.2.17'
// https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch
compile group: 'org.elasticsearch', name: 'elasticsearch', version: '2.1.0'
// https://mvnrepository.com/artifact/org.elasticsearch.plugin/shield
compile group: 'org.elasticsearch.plugin', name: 'shield', version: '2.1.0'
// https://mvnrepository.com/artifact/com.google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
// https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core
compile group: 'org.twitter4j', name: 'twitter4j-core', version: '4.0.6'
// https://mvnrepository.com/artifact/javax.json/javax.json-api
compile group: 'javax.json', name: 'javax.json-api', version: '1.0'
//jReddit Jar, compiled from src
compile files('libs/jReddit-1.0.4-SNAPSHOT.jar')
// Use JUnit test framework
testCompile 'junit:junit:4.12'
}
कोई मदद या सलाह अत्यधिक सराहना की
हाइबरनेट और अन्य lib के असंगत संस्करणों की तरह दिखता है।कृपया पूरा स्टैकट्रैक – Jens
जोड़ें http://stackoverflow.com/questions/37861063/spring-4-3-0-release-hibernate-5-0-9- फ़ाइनल- missing-sessionfactoryimplementor-g आपकी मदद कर सकता है –
आपके लिए धन्यवाद जवाब, मैंने पूरा स्टैकट्रैक जोड़ा है। मैंने स्टैक ओवरफ्लो पर अन्य प्रश्न देखा है, लेकिन वे वसंत का उपयोग करते हैं, जिसे मैं अपने जावा एप्लिकेशन के लिए उपयोग नहीं करता हूं। – Marcel