Подтвердить что ты не робот

Как рассказать gradle загрузить все исходные банки

В идеале мы хотели бы добавить задачу для загрузки всех исходных банок для первого уровня и переходных зависимостей нашего проекта. Есть ли способ сделать это?

Если нет, есть ли опция командной строки для поставки, так как maven должен загружать все исходные тексты на наши компьютеры?

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

4b9b3361

Ответ 1

Если вы используете Eclipse и хотите найти исходный код ваших зависимостей, то плагин Eclipse сделает это за вас.

Установите плагин eclipse, добавив apply plugin: "eclipse" в файл build.gradle. Затем запустите gradle eclipse, чтобы сгенерировать файлы Eclipse.project,.classpath и .settings. Плагин автоматически загрузит все доступные источники и добавит ссылки в файл .classpath(см. Атрибут sourcepath элемента classpathentry).

Чтобы импортировать проект в Eclipse, выберите File > Import... > Existing Projects into Workspace и выберите свой проект.

(Я не уверен, что плагин Idea делает то же самое для пользователей Idea, но может это сделать).

Ответ 2

Задача eclipse может быть настроена с помощью downloadSources. Ниже приведен пример этой конфигурации

apply plugin: 'java'
apply plugin: 'eclipse'

eclipse {
    classpath {
       downloadSources=true
    }
}

Итак, запустите

gradle cleanEclipse eclipse

чтобы загрузить источники.

Ответ 3

Еще один улов, не упомянутый в других ответах, заключается в том, что вы используете репозиторий mavenLocal() в вашем файле gradle.build. Если в этом локальном репозитории maven загружено jar, но нет загруженных источников или javadocs в этом репо, тогда gradle даже не попытается загрузить javadocs или источники для вас. Даже с включенными eclipse.classpath.downloadJavadoc и eclipse.classpath.downloadSources.

Решение состоит в том, чтобы удалить mavenLocal() из repositories или поместить его в нижнюю часть списка. Или вы можете настроить maven для загрузки источников и javadocs и очистки своего локального репозитория maven (~/.m2/repository).

Более подробное описание проблемы здесь.

Ответ 4

Вот как добавить требуемую конфигурацию в Gradle с помощью плагинов IDE:

Для Eclipse:

apply plugin: 'java'
apply plugin: 'eclipse'

eclipse {
    classpath {
        downloadJavadoc = true
        downloadSources = true
    }
}

Для IntelliJ

apply plugin: 'java'
apply plugin: 'idea'

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

Чтобы запустить эти плагины:

gradle cleanEclipse eclipse
gradle cleanIdea idea

Ответ 5

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

  • Щелкните правой кнопкой мыши свой проект, затем выберите "Путь сборки" → "Настроить путь сборки";
  • Выберите "Заказ и экспорт"
  • Выберите "Библиотеки веб-приложений" и нажмите кнопку "Нижняя", затем "Библиотеки веб-приложений" будут внизу;

И чтобы получить это в плагине Gradle Eclipse (так что вам не нужно делать это вручную каждый раз):

Почему Eclipse не связывает исходные файлы сторонних библиотек с WTP-гранжевым проектом Gradle?