Не удается добавить исходный код в файл jar в Maven Dependency - PullRequest
3 голосов
/ 22 марта 2012

У меня есть проект maven A, который использует файлы jar другого проекта B в версии 1.0 моей команды. версия 1.0 проекта B была отправлена ​​в локальный репозиторий Maven.

Проблема в том, что проект B не включает исходный код.Поэтому в проекте A я щелкаю правой кнопкой мыши JAR B в Зависимости Maven в Package Explorer , выбираю Java Source Attachment и устанавливаю путь к местоположению в проектеB (в версии 1.1 , у меня больше нет источника предыдущей версии) исходная папка (xxx/projectB/src/main/java/).Но похоже, что Maven не находит никакого исходного класса.

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Несколько способов решить эту проблему:

  1. Попросите команду B использовать плагин релиза Maven.Плагин релиза по умолчанию будет загружать источники и артефакты javadoc при выпуске версии.
  2. Загружать артефакты источников B самостоятельно.Поскольку у вас, кажется, есть его локально, загрузите его в свой репозиторий Maven.Тогда вы сможете получить его.
  3. Установите их в локальном хранилище (на локальном компьютере), используя Плагин установки Maven .В документации даже показан пример того, как это сделать для sources артефакта.Недостатком является то, что он будет виден только вам, больше никому.

Поскольку вы используете m2eclipse , вы можете затем щелкнуть правой кнопкой мыши по проекту, а затем выбрать Maven> Скачать исходники .

1 голос
/ 22 марта 2012

Добавьте к вашему B pom (я думаю, что один из них должен работать):

<build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>install</id>
                                <phase>install</phase>
                                <goals>
                                    <goal>sources</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
...