Как добавить источник из другой зависимости в Maven? - PullRequest
1 голос
/ 09 июля 2011

Я делаю некоторые тесты с Spring 2.0.8. У меня следующая проблема: весь исходный код загружается с артефактом «пружина», но mvn eclipse не прикрепляет: eclipse к другим артефактам, например, для артефакта «пружина», я не могу получить доступ к исходному тексту от Eclipse, несмотря на то, что пакет aop присутствует в spring-2.0.8-sources.jar.

<properties>
    <org.springframework.version>2.0.8</org.springframework.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
</dependencies>

Если я добавлю spring-2.0.8-sources.jar вручную в spring-aop в Java Build Path, то я смогу перемещаться по исходному коду из Eclipse, но мне было интересно, как сказать Maven, чтобы сделать это, так как каждый Когда я добавляю или изменяю библиотеку, мне придется повторить операцию присоединения источника.

ОБНОВЛЕНИЕ : Мой первоначальный страх перед перезаписью конфигурации оказался неверным. И m2eclipse, и mvn eclipse: eclipse не перезаписывают внесенные вручную изменения в конфигурацию. Мне все еще интересно узнать, можно ли сказать Maven подключать источники из другой зависимости. У меня также есть установка Nexus, если это может помочь.

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Как говорит @Will Iverson, последние плагины m2eclipse могут загружать источники автоматически, либо раньше времени, либо по запросу.M2eclipse смог сделать это в течение достаточно долгого времени.

Если это не работает:

  • проверьте, есть ли у вас обновленный плагин (иEclipse!),
  • посмотрите, как настроен плагин,
  • проверьте эффективную конфигурацию веб-прокси Eclipse,
  • , проверьте ~/.m2/settings.xmlЕсли вы используете прокси-сервер maven,
  • , если вы используете прокси-сервер, проверьте настройки репозитория, чтобы убедиться, что он обслуживает исходные JAR-файлы.

ЕслиЯ понимаю, что когда я добавляю зависимость, вы предлагаете мне выполнить m2Maven> Update Dependencies, m2Maven> Загрузить JavaDoc, m2Maven> Download Sources, и эта операция, несмотря на то, что вызывать mvn eclipse: eclipse неудобнее, будетсохраните мои ручные изменения, вместо того, чтобы перезаписывать их.

  1. Если вы используете m2eclipse, вам нужно использовать «mvn eclipse: eclipse».Вместо этого вы просто импортируете проект maven, используя, например, «Файл»> «Импорт»> «Maven»> «Существующий проект Maven».

  2. Я не думаю, что это разрушит существующие настройки, созданные вами вручную.... при условии, что вы случайно не проверили их в SCM или что-то в этом роде.

  3. Если вас беспокоит возможность потери настроек, сделайте резервную копию своего рабочего пространства;например, cp -r ... или tar cf ...

  4. Maven позволяет импортировать напрямую из SCM за один шаг.Это, безусловно, больше удобнее, чем mvn eclipse:eclipse ... и дает вам преимущества плагина m2eclipse.


Проблема, яЯ думаю, что источники Spring присутствуют, и они обслуживаются, но все они находятся в одной зависимости, другие зависимости не имеют привязок к источникам, однако их источники находятся в зависимости «пружины».

Ах.Понятно.

Не думаю, что вы (или m2eclipse) многое можете с этим поделать.Возможно, это ошибка в файлах POM Spring 2.0.x или в зависимых файлах POM.Конечно, более поздние версии Spring (2.5.x и 3.0.x) не имеют этой проблемы.

1 голос
/ 09 июля 2011

Если вы используете текущие версии плагина m2eclipse aka m2e, вам больше не нужно делать eclipse: eclipse. Просто делай все внутри Eclipse. Вы должны иметь возможность просто обновить зависимость в своем POM, щелкнуть правой кнопкой мыши по проекту и автоматически загрузить все подключенные источники.

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