Не удалось запустить приложение Spring - PullRequest
0 голосов
/ 18 апреля 2019

Я могу успешно собрать свой код с помощью теста ./gradlew build -x, однако, когда я запускаю свое приложение, он показывает

java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V

ниже - зависимость моего build.gradle:

buildscript {
    repositories {
        mavenLocal()
        maven {
            url "https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public"
        }
        mavenCentral()
        jcenter()
    }
    ext {
        projectVersion = '1.3.0-RELEASE'
        grpcVersion = '1.6.1'
        protobufVersion = '3.3.0'
        protobufGradlePluginVersion = '0.8.0'
        springCloudConsulVersion = '1.2.1.RELEASE'
        springBootVersion = '2.0.5.RELEASE'
    }

    dependencies {
        classpath "gradle.plugin.com.liferay:gradle-plugins-node:4.3.0"
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
configurations {
    providedRuntime
    compile.exclude module: 'spring-boot-starter-tomcat'
    all*.exclude module: 'spring-boot-starter-logging'
}

dependencies {       
    compile("org.springframework.boot:spring-boot-starter-web"){
        exclude module: "spring-boot-starter-tomcat"
    }
    compile "org.springframework.cloud:spring-cloud-starter-consul-discovery:${springCloudConsulVersion}"
    compile group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '3.1.5.RELEASE'
    compile('org.hibernate:hibernate-validator:5.4.1.Final')
}

Я думаю, что это может быть проблема с этой версией, но я не уверен. С другой стороны, большинство решений, которые я нашел, были marven, запуск моего приложения такой:

@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

1 Ответ

0 голосов
/ 18 апреля 2019

Вы используете Spring Cloud 1.2, который привязан к Spring Boot 1.5.Вы определили использование Spring Boot 2.0, следовательно, несовместимые версии jar той же платформы.

Далее вы также вручную включаете зависимость эластичного поиска вместо того, чтобы использовать предоставленный стартер Spring Boot, возможно, снова загружается другая несовместимая версия Spring.

Короче говоря, ваши зависимости беспорядок.Используйте правильную версию Spring Cloud для выбранной версии Spring Boot или наоборот.Поэтому обновите версию Spring Cloud до версии 2.x или уменьшите версию Spring Boot, которую вы используете.

Наконец, добавьте spring-boot-starter-data-elasticsearch вместо зависимости spring-data-elasticsearch, чтобы иметь правильно управляемую версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...