Maven не может загрузить снимок tomcat-maven-plugin - PullRequest
3 голосов
/ 06 января 2010

Даже после удаления файла settings.xml, я все равно получаю эту ошибку при попытке использовать эту зависимость моментального снимка. Учитывая зависимость:

<plugin>            
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <configuration>                 
        <path>/licensing</path>
        <tomcatWebXml>${basedir}/src/main/mock/web.xml</tomcatWebXml>
    </configuration>
</plugin>

И (в POM) определение хранилища плагинов:

<pluginRepository>
    <id>Codehaus Snapshots</id>
    <url>http://snapshots.repository.codehaus.org</url>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
    <releases>
        <enabled>true</enabled>  <!-- Workaround for MNG-2974, see note below -->
    </releases>
</pluginRepository> 

У меня осталась следующая ошибка 404. Если я действительно перейду к этому репо, то нужной ему банки нет, только датированные (я не знаком с механикой того, как Maven в конечном итоге разрешает ожидаемые имена зависимостей).

Идеи

Downloading: http://snapshots.repository.codehaus.org/org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-pl
ugin-1.0-SNAPSHOT.jar
[INFO] Unable to find resource 'org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT' in repository Codehaus
Snapshots (http://snapshots.repository.codehaus.org)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] A required plugin was not found: Plugin could not be found - check that the goal name is correct: Unable to downl
oad the artifact from any repository

Try downloading the file manually from the project website.

Then, install it using the command:
    mvn install:install-file -DgroupId=org.codehaus.mojo -DartifactId=tomcat-maven-plugin -Dversion=1.0-SNAPSHOT -Dpacka
ging=maven-plugin -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there:
    mvn deploy:deploy-file -DgroupId=org.codehaus.mojo -DartifactId=tomcat-maven-plugin -Dversion=1.0-SNAPSHOT -Dpackagi
ng=maven-plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]


  org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  Codehaus Snapshots (http://snapshots.repository.codehaus.org)


  org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  Codehaus Snapshots (http://snapshots.repository.codehaus.org)


[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Jan 06 10:06:49 EST 2010
[INFO] Final Memory: 14M/36M
[INFO] ------------------------------------------------------------------------

Ответы [ 4 ]

11 голосов
/ 06 января 2010

Я перепроверил и со следующими фрагментами пом:

<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">
  ...
  <pluginRepositories>
    <pluginRepository>
      <id>Codehaus Snapshots</id>
      <url>http://snapshots.repository.codehaus.org/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>  <!-- Workaround for MNG-2974, see note below -->
      </releases>
    </pluginRepository>
  </pluginRepositories>
  ...
  <build>
    <finalName>my-webapp</finalName>
    <plugins>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
      </plugin>
      ...
    </plugins>
   ...
  </build>
</project>

SNAPSHOT плагина был успешно загружен:

$ mvn clean
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building my-webapp Maven Webapp
[INFO]    task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] snapshot org.codehaus.mojo:tomcat-maven-plugin:1.0-SNAPSHOT: checking for updates from Codehaus Snapshots
[INFO] snapshot org.codehaus.mojo:tomcat-maven-plugin:1.0-SNAPSHOT: checking for updates from maven2-repository.dev.java.net
Downloading: http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-plugin-1.0-20091222.232027-11.pom
5K downloaded  (tomcat-maven-plugin-1.0-20091222.232027-11.pom)
Downloading: http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-plugin-1.0-20091222.232027-11.jar
48K downloaded  (tomcat-maven-plugin-1.0-20091222.232027-11.jar)
[INFO] [clean:clean {execution: default-clean}]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9 seconds
[INFO] Finished at: Wed Jan 06 16:13:28 CET 2010
[INFO] Final Memory: 7M/78M
[INFO] ------------------------------------------------------------------------

Это очень странно, потому что я не вижу никакой разницы, но все работает так, как ожидалось. Другими словами, я не могу воспроизвести ...


В вашем локальном хранилище у вас есть maven-metadata*.xml файлы в каталоге 1.0-SNAPSHOT для артефакта tomcat-maven-plugin? Они совпадают с теми на удаленном сервере? Правильно ли они указывают номер сборки и метку времени?

Если они некорректны локально, может помочь запуск maven с -U.

Вы также можете проверить mvn help:effective-pom и посмотреть, что думает Мейвен updatePolicy для снимков в этом хранилище.

Или, может быть, просто удалите артефакт tomcat-maven-plugin из локального репозитория и попробуйте снова.

Если ничего не помогает, попробуйте установить его вручную (загрузите плагин из репозитория и используйте mvn install:install-file mojo) или извлеките источники из VCS и соберите его локально. Но эти варианты - просто обходные пути, у вас где-то есть проблема (какую версию maven вы используете?).

6 голосов
/ 21 декабря 2011

Я знаю, что этот пост немного старый, но плагин Tomcat Maven был перемещен в репозиторий Apache Maven. Codehaus только размещает версию 1.0 плагина. Если вам нужен снимок 2.0 (чтобы вы могли запустить tomcat 7), вам нужно немного изменить pom.xml. Обратите внимание, что 2.0 находится в стадии разработки.

<repositories>
...
    <repository>
        <id>people.apache.snapshots</id>
        <url>http://repository.apache.org/content/groups/snapshots-group/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>apache.snapshots</id>
        <name>Apache Snapshots</name>
        <url>http://repository.apache.org/content/groups/snapshots-group/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

И ваша конфигурация плагина выглядит так:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0-SNAPSHOT</version>
</plugin>
1 голос
/ 06 января 2010

Не совсем точно, но похоже, что они могут использовать какую-то форму "buildnumber" maven для включения номеров версий контроля версий.

Взгляните на http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/maven-metadata.xml, и вы заметите, что в дополнение к обычным вещам есть xml-тег для buildnumber и timestamp.

Возможно, это не идеально, но вы можете заменить:

<version>1.0-SNAPSHOT</version>

с:

<version>1.0-20091222.232027-11</version>

Чтобы хотя бы запустить последнюю версию плагина.

0 голосов
/ 11 апреля 2014

Прежде всего позвольте мне сказать, что вы не загружаете TomCat-Maven-Plugin для Eclipse, как другие плагины Eclipse.

Вы просто используете инструменты maven в Eclipse, чтобы вставить правильные команды сборки плагина maven в файл maven pom.xml .....

Если у кого-то возникли проблемы с пониманием того, как заставить его проект Maven работать как конфигурация maven Build, вам может понадобиться несколько вещей:

Я хотел бы загрузить изображение, ну да ладно ....

В вашем Eclipse Web App, мы надеемся, у вас есть файл Maven POM.xml, если нет, вам нужно сначала его настроить.

Затем вы можете щелкнуть правой кнопкой мыши по нему, а затем найти Maven в вашем меню, затем появится пункт подменю с выбором под названием Add Plugin.

Существует поле под названием «Введите groupId, artifactId или sha1 и т. Д.». Введите слово Tomcat там.

Затем он загрузит результаты поиска в поле ниже.

По сути, это загрузка сведений в ваш pom.xml о том, какие плагины загружать при сборке с Maven.

После этого вам нужно сделать сборку Maven.

Затем вы хотите перейти к Запуску конфигураций и убедиться, что у вас есть правильный путь к месту, где живет ваше веб-приложение.

Также на этой странице в разделе целей введите TomCat: run Тогда подать заявку Наконец-то беги.

Если все пойдет хорошо, у вас будет сервер Tomcat, на котором запущено веб-приложение. Затем вы можете зайти в браузер и ввести [http://localhost:8080/webappname/defaultpagename]

и Уолла!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...