Проект Gradle SpringBoot: получен код состояния 501 с сервера: требуется HTTPS - PullRequest
2 голосов
/ 11 июля 2020

Я пытаюсь создать простой проект весенней загрузки hello world с помощью gradle и groovy. Когда я запускаю 'gradle clean build', я получаю ошибку ниже.

Пока что я пробовал,

  1. Несмотря на то, что это проект Gradle, я обновил версию maven до последней (3.6.3). На всякий случай.
  2. Я переустановил свою IntelliJ IDE
  3. Я добавил maven url как «https:» в build.gradle

После выше шаги, но я все еще получаю ошибку ниже. Я не уверен, что еще мне не хватает. Хотя я указал URL-адрес https: в файле сборки gradle, я не уверен, откуда он берет незащищенный URL-адрес (http).

Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all dependencies for configuration ':detachedConfiguration1'.
   > Could not resolve org.springframework.boot:spring-boot-dependencies:2.1.1.RELEASE.
     Required by:
         project :
      > Could not resolve org.springframework.boot:spring-boot-dependencies:2.1.1.RELEASE.
         > Could not get resource 'http://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/2.1.1.RELEASE/spring-boot-dependencies-2.1.1.RELEASE.pom'.
            > Could not HEAD 'http://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/2.1.1.RELEASE/spring-boot-dependencies-2.1.1.RELEASE.pom'. Received status code 501 from server: HTTPS Required

И мой файл сборки gradle выглядит:

plugins {
    id 'org.springframework.boot' version '2.3.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
    id 'war'
}

group = 'com.own.test'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenLocal()
    maven {
        url = 'https://repo.maven.apache.org/maven2'
    }
}



dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

Ответы [ 2 ]

2 голосов
/ 11 июля 2020

Используя start.spring.io , это содержимое созданного здесь build.gradle:

plugins {
    id 'org.springframework.boot' version '2.3.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'groovy'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'org.codehaus.groovy:groovy'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

Обратите внимание на основные различия:

  • groovy на самом деле существует как плагин, а как зависимость
  • репозиторий maven безопасен. Как указано в сообщении об ошибке, здесь вы используете конечную точку https
0 голосов
/ 11 июля 2020

Наконец, я выяснил, где обновить URL-адрес maven до «https: // *» для проектов Gradle.

$ vi ~/.gradle/init.gradle

затем я обновил URL-адрес maven для безопасного протокола («https://...» )

allprojects {
    repositories {
            mavenLocal()
            // Any Organization/Company specific repo url goes here
            maven {
                url "https://repo1.maven.org/maven2"
            }
    }
}

После вышеуказанных шагов у меня это сработало, и я смог успешно создать приложение с весенней загрузкой.

...