прерывания зависимостей "camel-restlet-starter" Сборка приложения Spring Boot (AuthorizationException) - PullRequest
0 голосов
/ 01 июня 2018

У меня проблема, аналогичная описанной здесь, но без того же (успешного) разрешения:

Как я могу получить рестлет через Maven, если я нахожусь за прокси-сервером?

По сути, в IntelliJ я создаю новый проект Maven с использованием архетипа:

camel-archetype-spring-boot

Я могу успешно запустить небольшой пример программы (MySpringBootApplication).

Но однаждыЯ добавляю зависимость Camel Restlet в POM:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-restlet-starter</artifactId>
</dependency>

Компиляция сразу завершается неудачно с:

[...]
    Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.restlet.jee:org.restlet:pom:2.3.12 from/to maven-restlet (http://maven.restlet.org): Access denied to: http://maven.restlet.org/org/restlet/jee/org.restlet/2.3.12/org.restlet-2.3.12.pom , ReasonPhrase:InvalidBrowser.
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:538)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:216)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:193)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:281)
        ... 30 more
    Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact org.restlet.jee:org.restlet:pom:2.3.12 from/to maven-restlet (http://maven.restlet.org): Access denied to: http://maven.restlet.org/org/restlet/jee/org.restlet/2.3.12/org.restlet-2.3.12.pom , ReasonPhrase:InvalidBrowser.
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:951)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:939)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:669)
        at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://maven.restlet.org/org/restlet/jee/org.restlet/2.3.12/org.restlet-2.3.12.pom , ReasonPhrase:InvalidBrowser.
        at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:928)
        at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116)
        at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
        at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:601)
        ... 4 more

Я попытался использовать пару советов, которые я нашел в переполнении стека, одно из которых включало добавление<repositories> к моему pom.xml и одному, включающему добавление <mirror> в settings.xml.Ни один из них не решил проблему отказа в доступе.

Я не пробовал найти <server> (в settings.xml) предложение, которое нашел, в основном потому, что не знал, какой должна быть эта запись.Но я подозреваю, что мне действительно не нужно добавлять специальные учетные данные только для этой зависимости ... верно?

Спасибо за любую помощь!

FWIW, вот мой pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>camel</groupId>
  <artifactId>restlet</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <name>A Camel Spring Boot Route</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <spring.boot-version>1.5.12.RELEASE</spring.boot-version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Spring Boot BOM -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring.boot-version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Camel BOM -->
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring-boot-dependencies</artifactId>
        <version>2.21.1</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>

    <!-- Spring Boot -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-undertow</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <!-- Camel -->
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-stream-starter</artifactId>
    </dependency>

    <!-- XXX: I added this -->
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-restlet-starter</artifactId>
    </dependency>

    <!-- Test -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-test-spring</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>${spring.boot-version}</version>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>

ОБНОВЛЕНИЕ

Из любопытства, убедившись, что с помощью моего браузера я могу получить доступ к org.restlet-2.3.12.pom (я просто не могу получить к нему доступ с помощью Maven),Я хотел посмотреть, что произойдет, если я удалю зависимость camel-restlet-starter и вместо этого попытаюсь указать зависимость от «оскорбительной» зависимости, сообщенной в ошибке компиляции:

<dependency>
  <groupId>org.restlet.jee</groupId>
  <artifactId>org.restlet</artifactId>
</dependency>

Когда я это сделал, теперь я получаюошибка компиляции:

Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact org.restlet.jee:org.restlet:jar:2.3.12 in central (https://repo.maven.apache.org/maven2)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:947)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:939)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:669)
        at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

И действительно, артефакт не найден в этом репо.

Копаем в , что немного больше в конце концовпривел меня к следующему открытому отчету об ошибках - что заставляет меня думать, что, может быть, это действительно ошибка?

Верблюд содержит ссылки на артефакты, отсутствующие в Maven Central

https://issues.jboss.org/browse/ENTESB-7378

и

Добавление зависимости от верблюдаВ результате перехода на pom.xml отсутствующие библиотеки

https://issues.jboss.org/browse/OSFUSE-672

...