Ich folge http://spring.io/guides/tutorials/data/3; Ich bin nicht sicher, was ich falsch gemacht habe, aber ich bekomme weiterhin Ausnahmen, die ich nicht verstehe. Ich habe versucht, mit denselben Ausnahmen nach Fragen zu suchen, aber ohne Erfolg.Fehler beim Erstellen von entityManagerFactory wegen Fehler beim Binden zum Scannen <jar-file>
Stapelüberwachung: http://pastebin.com/WYPqS6da
PersistenceConfig.java
@Configuration
@EnableJpaRepositories
@EnableTransactionManagement
public class PersistenceConfig {
@Bean
public DataSource dataSource() throws SQLException {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
return builder.setType(EmbeddedDatabaseType.HSQL).build();
}
@Bean
public EntityManagerFactory entityManagerFactory() throws SQLException {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setDatabase(Database.HSQL);
vendorAdapter.setGenerateDdl(true);
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("com.scrumster.persistence.domain");
factory.setDataSource(dataSource());
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}
@Bean
public PlatformTransactionManager transactionManager() throws SQLException {
JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(entityManagerFactory());
return txManager;
}
@Bean
public HibernateExceptionTranslator hibernateExceptionTranslator() {
return new HibernateExceptionTranslator();
}
}
build.gradle:
apply plugin: 'war'
apply plugin: 'tomcat'
apply plugin: 'java'
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
apply plugin: 'propdeps-eclipse'
apply plugin: 'eclipse'
apply plugin: 'idea'
buildscript {
repositories {
mavenCentral()
maven {
url "http://download.java.net/maven/2"
}
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:0.9.8'
classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.1'
}
}
repositories {
mavenCentral()
maven { url 'http://repo.spring.io/milestone/'}
}
dependencies {
def tomcatVersion = '7.0.42'
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}"
tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") {
exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj'
}
compile 'org.springframework:spring-webmvc:4.0.5.RELEASE'
compile 'org.springframework.data:spring-data-jpa:1.3.4.RELEASE'
compile 'org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final'
compile 'org.hibernate:hibernate-entitymanager:4.0.1.Final'
compile 'org.springframework.hateoas:spring-hateoas:0.7.0.RELEASE'
compile 'com.jayway.jsonpath:json-path:0.8.1'
compile 'org.springframework.security:spring-security-web:3.2.0.M2'
compile 'org.springframework.security:spring-security-core:3.2.0.M2'
compile 'org.springframework.security:spring-security-config:3.2.0.M2'
compile 'org.slf4j:slf4j-api:1.7.5'
runtime 'org.hsqldb:hsqldb:2.3.2'
runtime 'org.slf4j:slf4j-jdk14:1.7.5'
runtime 'com.fasterxml.jackson.core:jackson-databind:2.3.3'
runtime 'javax.xml.bind:jaxb-api:2.2.9'
provided 'javax.servlet:javax.servlet-api:3.0.1'
testCompile 'com.jayway.jsonpath:json-path-assert:0.8.1'
testCompile 'org.springframework:spring-test:4.0.5.RELEASE'
testCompile 'junit:junit:4.11'
testCompile "org.mockito:mockito-core:1.9.5"
}
task wrapper(type: Wrapper) {
gradleVersion = '1.12'
}
tomcatRunWar.contextPath = ''
Stacktrace:
Caused by: java.lang.RuntimeException: Error while reading file:/E:/Files/Source/Workspace-Eclipse2/scrumster/bin/
at org.hibernate.ejb.packaging.NativeScanner.getFilesInJar(NativeScanner.java:193)
at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:503)
at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:851)
... 58 more
Caused by: java.io.IOException: invalid constant type: 18
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1113)
at javassist.bytecode.ConstPool.read(ConstPool.java:1056)
at javassist.bytecode.ConstPool.<init>(ConstPool.java:150)
at javassist.bytecode.ClassFile.read(ClassFile.java:765)
at javassist.bytecode.ClassFile.<init>(ClassFile.java:109)
Ich hoffe, jemand könnte mich auf die richtige Quelle hinweisen, oder mir in dieser misslichen Lage helfen.
Siehe meine zusätzliche Bearbeitung - das Problem ist nicht so sehr die Laufzeit als die Tatsache, dass Sie eine inkompatible Bibliothek verwenden (Javassist). Es macht Bytecode-Manipulation, also ist es sensibler für JVM-Versionen als die meisten. – Steve
Ich vermute, dass es sich um eine transitive Abhängigkeit handelt, die durch eine der in Ihrem build.gradle gefundenen Abhängigkeiten verursacht wird. Ich weiß, dass die Eclipse Pom.Der XML-Editor zeigt an, woher Abhängigkeiten kommen. Leider verwende ich Gradle nicht oft, daher bin ich mir nicht sicher, ob ähnliche Tools zur Verfügung gestellt werden. – Steve
Ich habe versucht, die Kompatibilitätsstufe des Projekts auf Java 7 zu reduzieren (anstatt einige meiner Sachen zu aktualisieren) und funktioniere immer noch nicht für mich. – Chad