2011-02-04 6 views
0

я искал какое-то время, но я не мог понять, как решить мою проблему:Импорт авто скомпилированных Jar из внешнего проекта в Eclipse,

У меня есть проект Java, который представляет собой библиотеку, я пошлю его к клиентам. Для целей тестирования у меня есть проект «Тест», в который должна быть включена библиотека. Я использовал варианты:

  • Экспорт библиотеки как Jar, и импортировать его в моем тестовом проекте, когда я внести изменения

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

  • Свяжите «ЦСИ» папка моей библиотеки в тестовом проект

Я имел различное поведение с помощью этого метода: некоторые вопросы не появляются с связанным источником, который сделал с файлом Jar .. Не знаю почему.

Когда я программирую в Objective-C (в XCode), у меня есть ссылка на «цель» проекта библиотеки, которая автоматически компилируется при компиляции тестового проекта, я хотел бы иметь ту же структуру используя Eclipse.

Любое из вас знает, как это сделать?

Спасибо!

Julien

+0

Какую систему контроля версий и CI вы используете? –

ответ

2

С Link the "src" folder of my library Вы имеете в виду, что вы добавляете источники другого проекта в тестовый проект? В eclipse вы можете определить зависимость проекта как часть свойств пути построения Java, которые могут делать то, что вам нужно.

Другой вариант - добавить файл ant build.xml для создания файла .jar, но я не думаю, что вы можете получить eclipse для запуска файла сборки муравья непосредственно перед тем, как запускать тестовый проект автоматически, как вы можете с помощью Makefile в мире C.

+0

Ссылка на папку «src» моей библиотеки -> на вкладке «Язык сборки Java», вкладка «Источник», я использую кнопку «Источник ссылок», чтобы добавить папку «src» в моей библиотеке. Он должен вести себя так же, как создавать банку, не так ли? У меня была проблема с репликацией ошибки клиента, поэтому мне это не нравится, но, возможно, это была еще одна проблема ... Жаль, что нет простого варианта, потому что это будет чище ... Я думаю, что я также пробовал зависимость проекта , но он выглядит так же, как источник импорта, за исключением того, что некоторые файлы ссылаются дважды – Julien

+1

@Julien: создайте зависимость от проекта Test к проекту библиотеки, добавив проект lib в путь сборки тестового проекта. Если это вас не устраивает, то ant build.xml @ rsp, который экспортирует и копирует новую банку в проекте Test, может быть настроен на выполнение каждый раз после сборки.Нажмите свойства в вашем проекте lib -> Builders. Вы можете добавить произвольный конструктор (Ant в этом случае) для выполнения каждый раз, когда это делает другой. – pnt

+0

Хорошо, я сделаю это с создателем муравья :) Спасибо! – Julien

0

Возможно, вы могли бы использовать Maven. Вы можете создать родительский проект как для своей библиотеки, так и для вашего тестового приложения. Каждый раз, когда вы скомпилируете весь проект, maven сначала скомпилирует вашу библиотеку, а затем ваше тестовое приложение. Вы также можете создать свое собственное mvn repo, которое будет использовать вашу библиотеку в качестве независимого артефакта и добавить этот артефакт к зависимости вашего тестового приложения. После того, как вы обновите артефакт библиотеки в своем mvn-репо, тогда это будет автоматически обнаружено maven во время компиляции тестового приложения.

+0

Это похоже на интересный вариант, спасибо за подсказку. Однако я никогда не слышал о Maven, и я не очень хочу добавлять материал в свой проект. – Julien