Как указать репозиторий Maven - PullRequest
4 голосов
/ 06 апреля 2010

Я принимаю проект, оставленный предыдущим коллегой. Проект придуман, и мне трудно его построить. Есть внутренний блок, который выдает ошибку, когда я запускаю mvn install. Ошибка показывает, что плагин не может быть найден в центральном репозитории Maven. Я проверил, и это не там. Я нашел другой внутренний репозиторий с файлом jar плагина. Таким образом, за пределами блока я указал a, чтобы указать на это внутреннее репо. Однако, когда я снова запустил mvn install, он все еще отправляется в центральное хранилище maven, чтобы найти плагин. Как мне сделать так, чтобы файл jar находился в правильном репо? Я думал, указав список, он будет автоматически проверять этот список? Кроме репозитория, который я добавил, ранее не было настроено ни одного списка репозиториев.

Отсутствующий плагин, который я не могу заставить его работать, выглядит так:

    <build>
        <plugins>
            <plugin>
            <groupId>com.totsp.gwt</groupId>
            <artifactId>maven-googlewebtoolkit2-plugin</artifactId>
           <version>2.0-SNAPSHOT</version>
            <configuration>
                <gwtVersion>2.0.0</gwtVersion>
                <style>OBF</style>
                <gen>target/gwtgen</gen>
                <runTarget>/</runTarget>
                <extraJvmArgs>-Xmx512m</extraJvmArgs>
                <port>8088</port>
                <useHtmlUnit>true</useHtmlUnit>
                <htmlUnitBrowsers>
                    <param>FF3</param>
                </htmlUnitBrowsers>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        </plugin>
    </build>

Ответы [ 2 ]

3 голосов
/ 06 апреля 2010

Хорошо, теперь, когда вы предоставили соответствующую часть своего pom, я могу сказать, что у вас есть два варианта: либо получить исходные коды плагина и установить его в локальный репозиторий, либо получить плагин от maven.хранилище проекта.

Опция # 1

Используйте клиент Subversion и получите исходные коды плагина (версия 2.0-SNAPSHOT - текущая версия) из хранилища svn, соберите и установитеплагин в вашем локальном хранилище.Здесь используется клиент командной строки svn:

$ svn co http://gwt-maven.googlecode.com/svn/trunk/maven-googlewebtoolkit2-plugin/ maven-googlewebtoolkit2-plugin
$ cd maven-googlewebtoolkit2-plugin
$ mvn install 

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

Option # 2

Объявите репозиторий Maven проекта как <pluginRepository> и для изменения версииплагин (2.0-SNAPSHOT не доступен).Примерно так:

<pluginRepositories>
  <pluginRepository>
    <id>gwt-maven</id>
    <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
  </pluginRepository>
</pluginRepositories>
<build>
  <plugins>
    <plugin>
      <groupId>com.totsp.gwt</groupId>
      <artifactId>maven-googlewebtoolkit2-plugin</artifactId>
      <version>2.0-RC1</version>
      <configuration>
        <gwtVersion>2.0.0</gwtVersion>
        <style>OBF</style>
        <gen>target/gwtgen</gen>
        <runTarget>/</runTarget>
        <extraJvmArgs>-Xmx512m</extraJvmArgs>
        <port>8088</port>
        <useHtmlUnit>true</useHtmlUnit>
        <htmlUnitBrowsers>
          <param>FF3</param>
        </htmlUnitBrowsers>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>test</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Опять же, я ничего не могу сказать об изменениях между этой версией и 2.0-SNAPSHOT, которую использовал другой разработчик.

Последнее, но не менее важное (ноэто может быть не самым важным для вас сейчас), этот плагин устарел и заменен gwt-maven-plugin от Codehaus.В долгосрочной перспективе вы должны рассмотреть возможность перехода на плагин Codehaus.

1 голос
/ 07 апреля 2010

Я считаю, что ваш коллега настроил pluginRepository в своем ${MAVEN_HOME}/conf/settings.xml.Проверьте, есть ли в вашей компании репозитории, которые необходимо настроить в Maven.

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