Я пытаюсь настроить проект Maven для приложения Spring Boot, но при попытке сохранить файл pom.xml у меня возникает следующая проблема:
Project build error: Non-resolvable parent POM for
io.javabrains.springbootquickstart:course-api:0.0.1-SNAPSHOT: Could not find artifact
org.springframework.boot:spring-boot-starter-parent:pom:${revision} in central (https:// repo.maven.apache.org/maven2) and 'parent.relativePath' points at wrong local POM
Вот мой файл pom.xml:
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.javabrains.springbootquickstart</groupId>
<artifactId>course-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Java Api course</name>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2 RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
Я следую руководству, в котором версия 1.4.2 RELEASE, но все же я получаю эту ошибку, поэтому я поискал демонстрационный файл, в котором была $ {revision}.
Затем установите вашу версию 1.4.2 RELEASE
Изначально я пробовал только это, но ошибка такая же
imo repo.maven.apache.org/maven2/org/springframework/boot/… - действительный URL-адрес, не могли бы вы еще раз проверить и опубликовать сообщение об ошибке для версии 1.4.2 RELEASE?




Откуда ревизия будет заменена?
Измените pom.xml, указав любую версию, как показано ниже.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
Решил вопрос. Произошла небольшая ошибка. Это должно быть 1.4.2.РЕЛИЗ вместо 1.4.2 ВЫПУСК. Между РЕЛИЗ и 2 не должно быть пробелов. Эта маленькая точка была причиной проблемы.
Здесь :
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${revision}</version>
</parent>
${revision} будет интерполирован Maven (то есть переведен), только если Maven найдет переменную с именем revision.
Но revision не является встроенным в Maven переменными. Пока переменные как ${project.version} и ${project.artifactId} есть.
Итак, в вашем случае вам нужно явно объявить или передать переменную, если вы хотите ее использовать.
Например, он может работать, добавив его:
<properties>
<revision>1.4.2 RELEASE</revision>
</properties>
Или запустив maven, например: mvn package -Drevision = "1.4.2 RELEASE"
Вы можете найти дополнительную информацию здесь.
Обратите внимание, что свойство revision имеет слишком широкое значение и не помогает понять значение свойства.
Более точное имя, такое как ${spring-boot-version}, имело бы больший смысл.
Это может быть из-за того, что инициализатор Spring создал файл pom проекта, подобный этому
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Однако sts совместим с версией "2.0.4.RELEASE", просто внесите это изменение.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
далее Maven -> Обновить проект
Проголосовали за, потому что это решило мою проблему в STS. Как ты это понял?
Я настроил проект, используя инициализатор sts и spring по отдельности, а затем сравнивая pom один за другим.
Проверьте настройки прокси. Если вы работаете с ПК компании, на котором уже настроен Proxys для браузеров, но еще не настроен для вашей IDE или maven, вы, вероятно, можете ввести ту же информацию, что и для ваших браузеров. Вы можете найти их, например, открыв сетевые настройки вашего браузера -> Настройки локальной сети, а затем загрузите файл proxy.pac с адреса, указанного в поле ввода. Этот файл доступен для чтения человеком.
После этого вам все еще может потребоваться обрабатывать ошибки SSL с помощью
Заменять
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2 RELEASE</version>
</parent>
с участием
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
<relativePath>../pom.xml</relativePath> <!-- lookup parent from repository -->
</parent>
Пожалуйста, добавьте объяснение
Для меня в моей системе действительно работал Антивирус. Итак, я отключил это на час и изменил свою версию на 2.0.4.RELEASE, и у меня это работает.
Откуда взять
${revision}?