Получить источники зависимости моментального снимка от Eclipse - PullRequest
3 голосов
/ 25 августа 2010

Что-то меня сильно беспокоит ... В большом проекте с множеством зависимостей некоторые из них устанавливаются как SNAPSHOT в Maven2.

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

РЕДАКТИРОВАТЬ

Вот что я получаю в консоли Eclipse Maven:

26/08/10 11:31:46 CEST: Downloading http://repo-maven/archiva/repository/snapshots/com/blabla/1.1-SNAPSHOT/blabla-1.1-20100824.213711-80-javadoc.jar
26/08/10 11:31:47 CEST: Could not download sources for com.blabla:blabla:1.1-20100824.213711-80

В архивея могу видеть развернутые данные, которые я хочу получить в затмении ...

Repository   snapshots
Group ID  com.blabla
Artifact ID  blabla
Version  1.1-20100824.213711-80
Packaging  jar
Parent  com.blabla bla 1.1-SNAPSHOT (View)
Other Versions  1.1-20100824.213535-79

Я могу загружать источники этого артефакта с помощью своего браузера, но не в Eclipse ... Есть идеи?

1 Ответ

1 голос
/ 26 августа 2010

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

Что ж, эти модули, вероятно, не публикуют исходные JAR-файлы как часть "обычного" процесса сборки (т.е. вне выпуска). Если эти модули находятся под вашим контролем (как я понимаю), то проблема должна решаться настройкой Исходного подключаемого модуля Maven для создания для них исходных JAR-файлов и их развертывания в корпоративном репозитории. Со страницы Использование :

Установка источников вместе с вашим артефактом

Есть два способа сделать это. Вы можете либо привязать этот плагин к фазе или Вы можете добавить его в профиль. Цели источник: jar-no-fork и источник: test-jar-no-fork предпочтительнее для привязки цели к сборке Жизненный цикл.

Установка источников с использованием фазовой привязки

Вот как вы можете настроить плагин в вашем pom.xml для запуска автоматически на этапе проверки:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

Мы используем фазу проверки здесь потому что это фаза, которая приходит до этапа установки, таким образом, делая уверен, что источники банку создан до установки место.

Установка источников с использованием профиля

Если вы хотите установить банку вашего источники вместе с вашим артефактом в процессе выпуска вы можете добавьте это в ваш файл pom.xml:

<project>
  ...
  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1.2</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  ...
</project>

Использование профиля, вероятно, было бы хорошей идеей, так как сборка JAR-файлов с исходным кодом будет выполняться только сборкой, выполняющейся на уровне сервера CI, но не на машинах разработчика.

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