web-dev-qa-db-fra.com

La communauté Intellij ne peut pas utiliser le proxy http pour Maven

J'ai Intellij IDEA Community installé sur une boîte Linux qui doit utiliser un proxy authentifié pour accéder à Internet. J'ai un proxy à l'échelle du système sur la boîte qui fonctionne, et j'ai le proxy configuré dans ~/.m2/settings.xml. Maven utilise correctement le proxy lorsque je l'exécute, essayez-le à partir de la ligne de commande.

J'ai le même proxy configuré dans Intellij et cela me donne la liste des plugins correctement. Mais quand j'essaie de me synchroniser avec le dépôt Maven avec Intellij, je reçois toujours ceci:

[WARNING] Unable to get resource 'org.codehaus.mojo:hibernate3-maven-plugin:pom:2.2' 
from  repository restlet (http://maven.restlet.org): Authorization failed: Not   
authorized by proxy.

Je suis allé dans Paramètres-> Maven et j'ai mis les informations de proxy en tant que propriétés et cela n'a pas fonctionné. Je peux voir en regardant ces paramètres qu'Intellij lit bien mon ~./M2/settings.xml car il sait où se trouve mon dépôt local (il est dans un endroit non standard).

Quelqu'un sait comment je peux faire fonctionner ça?

31
MikeHoss

J'ai commenté la configuration du proxy dans mon fichier ~/.m2/settings.xml, laissé les informations du proxy Intellij seules, puis fourni les propriétés dans Setting-> Maven. Je ne sais pas pourquoi cela a fonctionné (ni pourquoi le fichier settings.xml ne fonctionnait pas correctement) mais il fonctionne maintenant.

1
MikeHoss
  1. Aller vers Maven > Importing1. dans les paramètres IntelliJ IDEA (qui se trouve sous File > Settings).

  2. L'avant-dernière option dans Maven > Importing est un champ nommé "Options VM pour l'importateur". Ajoutez ce qui suit à tout ce qui existe déjà:

    -DproxySet=true -DproxyHost=myproxy.com -DproxyPort=3128

    Ici, remplacez myproxy.com avec votre serveur proxy (par exemple, http://myproxyserver.com). Remplacer 3128 avec votre port proxy (par exemple 8080).

  3. Faites de même sous Maven > Runner1

  4. Appliquer et fermer la fenêtre des paramètres.

Ça devrait marcher maintenant.


1 Cela peut être imbriqué sous Build, Execution, Deployment > Build Tools >, selon la version d'IntelliJ que vous utilisez.

80
DrBug

J'ai eu le même problème en exécutant maven dans IntelliJ alors que derrière un proxy NTLM. La solution de travail était la suivante:

  1. Téléchargez et installez CNTLM. Excellent article ici sur la façon de le faire https://stackoverflow.com/a/23962313/3298801
  2. Définissez et testez vos paramètres de proxy local dans IntelliJ via Paramètres >> Paramètres système >> Proxy HTTP.
  3. Dans Intellij, réglez le coureur maven. Dans Paramètres >> Maven >> runner set VM options to:
    -DproxySet=true -DproxyHost=localhost -DproxyPort=3132
  4. Redémarrez Intellij
  5. Remarque dans ~/.m2/settings.xml, j'ai également ajouté ma configuration de proxy en tant que:
<proxies>
        <proxy>
            <active>true</active>
            <protocol>https</protocol>
            <Host>localhost</Host>
            <port>3132</port> 
        </proxy>
</proxies>
11
user3298801

Une petite mise à jour pour mémo. Je n'ai pas de maven autonome installé, donc finalement j'ai corrigé cela en modifiant les paramètres du plugin maven. settings.xml se trouve à:

IntelliJ IDEA Community Edition 2017.3.4\plugins\maven\lib\maven3\conf\settings.xml

Vous pouvez trouver les paramètres de proxy et les modifier comme mentionné ci-dessus.

5
Simon

Pouvez-vous essayer de supprimer le paramètre proxy dans settings.xml ou le paramètre dans IntelliJ lui-même.

Et puis essayez de vous synchroniser avec le référentiel maven depuis Intellij.

4
jitter

Je rencontre le même problème: par ShadowsocksR, je peux visiter certains sites Web que je ne peux pas visiter sans ShadowsocksR. J'utilise Intellij, l'erreur est "Connexion expirée: connexion -> [Aide 1]". Enfin, j'ai également ajouté ma configuration proxy comme:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0 http://maven.Apache.org/xsd/settings-1.0.0.xsd">
   <proxies>
   <proxy>
      <id>example-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <Host>localhost</Host>
      <port>1080</port>
      <username>***.***.**.***:****</username>
      <password>*******</password>
      <nonProxyHosts>www.baidu.com|*.example.com</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Mon environnement informatique est win10. http://maven.Apache.org/guides/mini/guide-proxies.html

3
Rail

J'ai eu le même problème. Cependant, mes paramètres de proxy ont été stockés sous la variable d'environnement * M2_OPTS *.

Selon les articles ci-dessus, la suppression des variables d'environnement a empêché IDEA de se bloquer.

C'est sous Windows 7, en utilisant IntelliJ IDEA CE 12.3

Si quelqu'un remarque un bug corrigé pour cela, veuillez répondre avec un lien.

1
James Macmillan

J'ai trouvé des problèmes similaires avec l'intégration de Maven 2.2 dans intellij 9. J'utilise 9.0.1

J'utilise intellij derrière un pare-feu/proxy d'entreprise. Si je pointe maven conf d'Intellij pour utiliser Maven externe et maven conf qui a les paramètres de proxy à l'intérieur, intellij ne parvient pas à télécharger des artefacts à partir de référentiels distants.

Nous n'avons eu aucun problème avec intellij-8, cela n'a commencé qu'après la mise à niveau. La conf Maven n'a pas changé non plus.

Je dois faire un build Maven à partir de la ligne de commande pour obtenir tous les nouveaux artefacts dépendants dans mon référentiel local, puis utiliser intellij-9.

L'intégration de Maven 2.2 a des problèmes derrière les serveurs proxy.

1
Paul W