Не вдалося перенести артефакт org.apache.maven.plugins: maven-surefire-plugin: pom: 2.7.1 з / в центральний (http://repo1.maven.org/maven2)


76

Я створив новий проект maven у SpringSource Tool Suite. Я отримую цю помилку у своєму новому проекті maven.

Помилка передачі org.apache.maven.plugins: maven-surefire-plugin: pom: 2.7.1 з http://repo1.maven.org/maven2 було кешовано в локальному сховищі, роздільна спроба не буде повторюватися до інтервалу оновлення of central минув або оновлення примусові. Початкова помилка: Не вдалося перенести артефакт org.apache.maven.plugins: maven-surefire-plugin: pom: 2.7.1 з / в центральний ( http://repo1.maven.org/maven2 ): Час очікування підключення

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>com.test.app</groupId>
  <artifactId>TestApp</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>TestApp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Settings.xml

<?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">
  <pluginGroups>
  </pluginGroups>
 <proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>
      <password>pass</password>
      <host>ip</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>    
  </proxies> 
  <servers>  
  </servers>
    <mirrors>   
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>    
  </mirrors>  
<profiles>
 </profiles>
</settings>

Зверніть увагу, що я можу його створити. Помилка відображається в pom.xml всередині IDE. Будь-які рішення?


9
Ви за проксі?
Sam R.

Вам потрібно встановити проксі?
Дерек,

2
Ви впевнені, що не стоїте за проксі?
Анубхаб,

1
Покажіть нам результати mvn help:effective-settings, а також ваші pom.xml.
carlspring

1
запуск з IDE (STS)
Саджіт,

Відповіді:


66

Спростіть речі, використовуючи наступне settings.xml:

<?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>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>  <!-- Put your username here -->
      <password>pass</password>  <!-- Put your password here -->
      <host>123.45.6.78</host>   <!-- Put the IP address of your proxy server here -->
      <port>80</port>            <!-- Put your proxy server's port number here -->
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts> <!-- Do not use this setting unless you know what you're doing. -->
    </proxy>    
  </proxies> 
</settings>

Під Linux / Unix розмістіть його під ~/.m2/settings.xml. Під Windows помістіть його під c:\documents and settings\youruser\.m2\settings.xmlабо c:\users\youruser\.m2\settings.xml.

Вам не потрібні <mirrors/>, <profiles/>і <settings/>секції, якщо ви дійсно не знаєте , що вони.


Дякуємо за допомогу. Але все одно отримую таку ж помилку. Зверніть увагу, що я можу створити її. Помилка є лише в IDE.
Саджіт

1
Тоді добре. Переконайтеся, що у вашій IDE він вказує на той самий settings.xmlфайл, оскільки ваші налаштування проксі, мабуть, не забираються вашою IDE.
carlspring

Я отримав те саме питання, коли перезапустив eclipse в офісі. Це працювало нормально, коли я працював вдома. Тож це було пов’язано з налаштуваннями проксі для корпоративної мережі. Після створення файла settings.xml так, як він описаний, він працював як шарм.
Gopal Bairwa

58

Це вирішується для мене, коли я оновлюю maven і перевіряю опцію " Примусове оновлення знімків / випусків " в Eclipse. це видаляє всі помилки. Тож клацніть правою кнопкою миші на проекті -> Maven -> оновити проект , а потім поставте прапорець вище -> Ok . Сподіваюся, це вам допоможе.


1
Дякую, це спрацювало для мене. Я скопіював eclipse з однієї машини на іншу, і, здається, головним кешем для мене є основний кеш. Коли я оновив знімок, він спрацював для мене.
Manoj

2
не міг побачити цей варіант у моєму версино ельципу (фотон)
weveoftheride

Іноді адреса проксі змінюється, і ми не знаємо.
Віллі Макенд

1
Я постало питання: Failure to transfer xalan:xalan:jar:2.7.1 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact xalan:xalan:jar:2.7.1 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org. Але вирішено Force Update of Snapshots/Releases.
Яш

26

Здається, ваш Maven не може підключитися до сховища Maven за адресою http://repo1.maven.org/maven2 .

Якщо ви використовуєте проксі-сервер і можете отримати доступ до посилання за допомогою браузера, ті самі налаштування потрібно застосувати до Spring Source Tool Suite (якщо ви працюєте в Suite) або Maven.

Для налаштування проксі-сервера Maven створіть settings.xmlу .m2каталозі наступні деталі

<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>
      <active>true</active>
      <protocol>http</protocol>
      <host>PROXY</host>
      <port>3120</port>
      <nonProxyHosts>maven</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Якщо ви не використовуєте проксі-сервер і можете отримати доступ до посилання в браузері, видаліть усі налаштування проксі-сервера, описані вище.


6

Для першої помилки ви можете просто очистити кеш локального сховища, щоб змусити його завантажуватися з основного сховища, а не перевіряти локальний.

Для другої помилки, якщо ви стоїте за проксі-сервером, вам слід налаштувати його таким чином. Налаштування проксі-сервера, інакше у вас зараз проблема з мережею.


1
NP Ви бачите помилку у своєму POMабо в Maven console?
Sam R.

1
Помилка відображається в pom.xml. <Project xmlns = " maven.apache.org/POM/4.0.0 " xmlns: xsi = " w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " maven.apache.org /POM/4.0.0 maven.apache.org/xsd/maven-4.0.0.xsd ">
Саджіт,

5

Для мене рішення просто видалило конкретну папку, з якої виникає помилка ~/.m2/repository/org/hsqldb/

Після видалення hsqldbпапки у мене є побудова проекту, і все добре.


Це спрацювало і у мене. Я використовую STS. Ніщо інше не працювало як Maven-update-force ... або settings.xml. У моєму випадку повідомляється про помилку для maven-surefire-plugin. Я видалив цю папку, яка знаходилась за адресою .m2 / repository / apache / org / maven / plugins / maven-plugins. Після цього я очистив проект, і він видалив помилку в pom.xml
Ankit

3

Я настійно рекомендую використовувати Maven Repository Manager, такий як Nexus. Це допоможе вам отримати стабільні та відтворювані збірки за допомогою Maven. Оскільки диспетчер сховищ зазвичай знаходиться у вашій локальній мережі, вам не потрібно налаштовувати параметри проксі-сервера, але вам потрібно визначити деякі інші конфігурації:

http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html

http://maven.apache.org/repository-management.html


3

Мені допомогли пропозиції @carlspring (створіть settings.xml для налаштування проксі-сервера http):

<?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>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>  <!-- Put your username here -->
      <password>pass</password>  <!-- Put your password here -->
      <host>123.45.6.78</host>   <!-- Put the IP address of your proxy server here -->
      <port>80</port>            <!-- Put your proxy server's port number here -->
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts> <!-- Do not use this setting unless you know what you're doing. -->
    </proxy>    
  </proxies> 
</settings>

А потім освіжаючий проект eclipse maven, як запропонував @Peter T:

"Примусове оновлення знімків / випусків" в Eclipse. це видаляє всі помилки. Тож клацніть правою кнопкою миші на проекті -> Maven -> оновити проект, а потім поставте прапорець вище -> Ok. Сподіваюся, це вам допоможе.


2

Мені здається, там була проблема з мережею. На вашому боці, або на боці Мейвена, або де-небудь посередині. Просто спробуйте пізніше.

Якщо помилка є постійною, перевірте налаштування мережі. Якщо ви стоїте за проксі-сервером, вам потрібно наступне: ~ / .m2 / settings.xml:

<proxies>
    <proxy>
        <id>optional</id>
        <active>true</active>
        <protocol>http</protocol>
        <username>proxyuser</username>
        <password>proxypass</password>
        <host>proxy.host.net</host>
        <port>80</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
</proxies>


2

Я вперше почав використовувати maven на своїй машині. Could not transfer artifact from/to central (https://repo.maven.apache.org/maven2) No such file or directory З'явилася така помилка: Очищено каталог ~ / .m2 / сховища. Не відчувайте цю проблему знову


1
Так, пам’ятайте, що у вас така сама проблема. Я щойно видалив проблемний імпорт і перезапустив eclipse, щоб він знову запрацював.
Tobliug

2

Це також може статися при використанні старої версії Java, яка не може належним чином взаємодіяти з протоколом HTTPS, який зараз необхідний. Версія 8 і вище повинна працювати з моменту написання цієї статті.


2
Врятував мене трохи часу. Дякую!
Артур,

1

Якщо ви перебуваєте в ОС ОС і вам не потрібен проксі-сервер, видаліть усі налаштування проксі-сервера

<proxies>
    <proxy>
   ..................
    </proxy>    
  </proxies> 

і замінити на

<proxies/> 

а потім виконайте Maven чисту збірку


1
  1. Оновіть Maven Project і поставте прапорець біля пункту «Примусове оновлення знімків / випусків», він видалить помилки.
  2. Якщо ні, Maven почистіть та встановіть проект.
  3. Помилка все ж не усунена, повторіть крок 1.

У мене це вийшло :)


1

У нас є проксі-сервіс на рівні компанії.

Після вимкнення проксі-сервера в Internet Explorer ця проблема була вирішена (схоже, її потім відключено на рівні "системи"), тому всі інші браузери також виберуть цю зміну.

Тепер я можу видавати команди MVN із підказки CMD, і у мене не виникає проблем, наприклад, наприклад

"Завантаження: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom "

... що спричиняло "Помилку збірки"

У нашому випадку вимкнення проксі-сервера в IE потрібно робити щодня, оскільки при кожному запуску системи він встановлюється


1

Цю проблему було вирішено наступними кроками -

  1. Перейдіть до локального сховища m2 і знайдіть каталог org / apache / maven / plugins / maven-surefire-plugin.
  2. Видаліть проблемну версію.
  3. maven оновіть проект, а потім завантажте його знову.

1

Для мене це було File > Settings > ... > BuildTools > Maven > Work Offline[■]


1

На IntelliJ перейдіть до Налаштування -> Створення, виконання, розгортання -> Інструменти побудови -> Maven. Встановіть прапорець "Завжди оновлювати знімки" застосовувати та зберігати зміни, а потім виконувати чисту інсталяцію mvn


1

Спробуйте використовувати https у url репо: https://repo1.maven.org/maven2

Якщо ви використовуєте jdk1.7 або новішу версію, а ваша мережа обмежує протоколи новою версією TLS, увімкніть TLS1.2: -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2


0

Якщо ви не стоїте за проксі-сервером і все ще отримуєте повідомлення про помилку з часом очікування, перевірте налаштування брандмауера / антивіруса. Іноді брандмауер може блокувати підключення будь-якого інструменту (наприклад, Eclipse / STS тощо).


0

Ви можете спробувати встановити налаштування проксі:

Файл -> Налаштування -> Зовнішній вигляд -> Налаштування системи -> Проксі Http -> Автовизначення

А потім надайте URL-адресу проксі-сервера.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.