Я следую руководству на https://spring.io/guides/tutorials/bookmarks/. Я использовал инициализатор и решил использовать gradle. При попытке создать приложение или напрямую запустить его, я получаю сообщение об ошибке:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
Я предполагаю, что это вызвано spring-boot-starter-data-jpa или com.h2database:h2 и, вероятно, связано с несоответствием версий. Однако я не знаю, что с этим делать.
Мой gradle.build:
buildscript {
ext {
springBootVersion = '2.0.0.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-
plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'sfs.examples'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 9.0
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-web')
runtime('com.h2database:h2')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Отлично, большое спасибо вам обоим. Я добавил compile('javax.xml.bind:jaxb-api:2.3.0') в свой build.gradle. Теперь он работает.




Вы используете Java9 ... В Java9 по умолчанию не отображается Jaxb. Либо используйте java8, либо добавьте зависимость, либо добавьте --add-modules java.xml.bind` в конфигурацию среды выполнения.