2014-12-01 3 views
0

У меня есть 2 проекта, проект A и B, как put/link project A внутри проекта B classpath?Gradle add eclipse project to classpah

Каждый раз, когда мне нужно сделать это вручную, нажмите «Настроить путь класса» в проекте «В», нажмите «Проекты», добавьте проект, затем нажмите «Заказ и экспорт» и поместите проект поверх пути к классам, но Конечно, если я убираю проект, то все, что я сделал, проигрывает, как сказать Грейдлу сделать это для меня?

Посмотрите на картинку ниже, я хочу, чтобы Gradle делал это для меня, как?

enter image description here

+0

Из вашего описания неясно, являются ли ваши проекты частью одного проекта Gradle build/separate Gradle/вообще не проекты Gradle. Также вы используете плагин 'eclipse' в сценариях сборки Gradle для создания проекта Eclipse? Или вы импортируете проект Gradle в Eclipse, используя плагин Eclipse из Pivotal (также часть Spring Tool Suite)? – Radim

+0

У меня есть проект ModCustomer (как вы можете видеть на изображении), мне нужно добавить проекты ManageCore и jcomponents (см. Изображение) в ModCustomer classPath, я сделал это вручную, я хотел бы сделать это из Gradle. Все проекты - проект градиента, и они отделены друг от друга. Я создал проект градации из Eclipse Tool Suite –

+0

Правильный способ создания зависимостей между отдельными проектами - опубликовать артефакт jar, построенный из одного проекта, и объявить его как зависимость в другом проекте. Правильный способ сделать это, если ваши проекты являются частью одной многопроектной сборки, заключается в том, чтобы объявить зависимость проекта от вашего build.gradle. Крючок 'withXml' может работать, но это не хороший/хороший способ справиться с зависимостями. – Kris

ответ

1

Вы можете настроить, как .classpath генерируются в скрипте, используя eclipse.classpath.withXml крюк, описанный в http://www.gradle.org/docs/current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html

Gradle не знает о проектах в вашем рабочем пространстве Eclipse, так что ваши настройки, вероятно, должны быть факультативными. Плагин STS для Eclipse может это сделать, но по иронии судьбы он делает это только для проектов Maven (т. Е. Если зависимость вашего проекта Gradle является результатом проекта Maven, он заменяет библиотеку JAR на путь класса ссылкой на проект).

+0

Привет, извините, но я до сих пор не понимаю, как сообщить Gradle добавить один проект Eclipse в проекте Gradle. Что я могу ввести в конфигурацию «classpath» в EclipsePlugin of Gradle, чтобы сделать это для меня? –

+0

Ну, после того, как я вручную настройки, cheking файл .classpath, я увидел линии вопрос в том, как сделать gradle сделать это для меня из файла build.gradle? –

1

Поместите следующее в вашем build.gradle добавить "ManageCore" и "jcomponents" проекты в файл .classpath в Eclipse:

eclipse.classpath.file.withXml { xml -> 
    def node = xml.asNode() 
    node.appendNode('classpathentry', [ combineaccessrules: false, exported: true, kind: 'src', path: '/ManageCore' ]) 
    node.appendNode('classpathentry', [ combineaccessrules: false, exported: true, kind: 'src', path: '/jcomponents' ]) 
} 

Надеется, что это помогает.