2
votes

Échec de l'exécution de l'objectif sur le projet XX Impossible de résoudre les dépendances pour le projet. Le code retour est: 501, ReasonPhrase: HTTPS requis

Je compile mon repo pour le projet maven. J'obtiens des erreurs de dépendance. Je sais que le référentiel central maven ne prend plus en charge les communications non sécurisées sur HTTP simple et exige que toutes les demandes adressées au référentiel soient cryptées via HTTPS. . C'est ce que j'ai essayé d'ajouter le code suivant dans

pom.xml

de mon projet:

Failed to execute goal on project XXX: Could not resolve dependencies for project com.mycompany:XXX:war:1.0-SNAPSHOT: Failed to collect dependencies for [org.mongodb:mongo-java-driver:jar:3.6.2 (compile), javax.servlet:javax.servlet-api:jar:4.0.0 (compile), org.codehaus.jackson:jackson-mapper-asl:jar:1.9.9 (compile), com.google.guava:guava:jar:14.0 (compile), commons-lang:commons-lang:jar:2.1 (compile), org.geotools:gt-geojson:jar:22.0 (compile), org.geotools:gt-metadata:jar:22.0 (compile), org.geotools:gt-geojsondatastore:jar:20.2 (compile), com.xx:Demo:jar:1.0 (compile), javax:javaee-web-api:jar:7.0 (provided), org.apache.commons:commons-lang3:jar:3.9 (compile), com.googlecode.json-simple:json-simple:jar:1.1 (compile), javax.xml.bind:jaxb-api:jar:2.2.11 (compile), com.sun.xml.bind:jaxb-core:jar:2.2.11 (compile), com.sun.xml.bind:jaxb-impl:jar:2.2.11 (compile), javax.activation:activation:jar:1.1.1 (compile)]: Failed to read artifact descriptor for org.geotools:gt-geojson:jar:22.0: Could not transfer artifact org.geotools:gt-geojson:pom:22.0 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/geotools/gt-geojson/22.0/gt-geojson-22.0.pom. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 1]

et dans le

../maven/conf/settings.xml

a ajouté ce qui suit:

~/.m2> ls
repository  wrapper

Mais rien ne semble fonctionner, j'obtiens la même erreur. Quelque part, j'ai vu que je devais modifier settings.xml dans le chemin m2

~ / .m2 / settings.xml

mais sur mon chemin je trouve ceci:

<profile>
    <id>my profile</id>
        <repositories>
                <repository>
                    <id>central maven repo</id>
                    <name>central maven repo https</name>
                    <url>https://repo.maven.apache.org/maven2</url>
                 </repository>
        </repositories>
    </profile

L'erreur est la suivante:

  <repositories>
    <repository>
      <id>central maven repo</id>
      <name>central maven repo https</name>
      <url>https://repo.maven.apache.org/maven2</url>
    </repository>
  </repositories>

Je ne sais pas ce que je fais de mal, l'erreur persiste.


2 commentaires

Si vous utilisez une version récente de Maven, vous ne devriez pas en avoir besoin. (btw, l'identifiant du référentiel doit être central ). Très probablement, l'une de vos dépendances a un écrasement explicite du référentiel dans son pom.


@RobertScholte vous aviez raison, c'était avec l'ID. Merci :)


3 Réponses :


0
votes

Étant pom.xml fichiers pom.xml eux-mêmes peuvent contenir des éléments <repository> , il est tout à fait possible qu'une dépendance transitive de la vôtre spécifie une URL vers un référentiel Maven commençant par http . Il peut être difficile de les localiser.


0 commentaires

0
votes

Vous devriez éviter d'ajouter / mettre à jour des référentiels dans thepom, voir https://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ pour les détails.

La meilleure façon de résoudre ce problème est:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>central-https</id>
      <url>https://repo.maven.apache.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>


0 commentaires

1
votes

J'ai rencontré le même problème en travaillant sur un j-ee qui fonctionne sur payara. Pour construire votre projet, veuillez vous assurer que vous arrêtez d'abord votre serveur payara


0 commentaires