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

Использование нескольких проектов в Eclipse с платформой Play 2.1.x

У меня есть существующий проект в Eclipse (назовем его "NotPlayProj" ), в котором много Java-кода, все еще находящегося в разработке. Я создал новый проект eclipse, используя play 2.1.0 (позвольте назвать его "PlayProj" ). Моя цель - использовать код из NotPlayProj в PlayProj и иметь как Eclipse, так и уведомление компилятора Play в любом проекте.

Если я перейду в свойства для PlayProj и добавлю NotPlayProj через вкладку "Проект", то завершение и включение метода будут выполняться в eclipse, но компиляция Play не увидит результат. Я смотрел модули Play, и они, похоже, не делают того, что я хочу.

Есть ли способ сделать это, в идеале без изменения NotPlayProj?

Изменить --- Я просмотрел http://www.playframework.com/documentation/2.0/SBTDependencies, в котором показано, как экспортировать банку из NotPlayProj в каталог PlayProj/lib, но для этого требуется ручной экспорт для каждого изменения NotPlayProject. Я подозреваю, что раздел Managed dependency должен покрыть это, но я никогда не использовал SBT раньше, и поэтому, вероятно, отсутствует что-то базовое.

4b9b3361

Ответ 1

Вам нужна непрерывная интеграция.

Взгляните на Дженкинса: http://jenkins-ci.org/ Вы должны настроить сервер непрерывной интеграции и настроить необходимые вам сборки.

Пример: У вас есть PlayProj, запущенный на каком-то сервере, он должен иметь возможность использовать некоторые из последних классов из другого проекта под названием NoPlayProj.

Реконструкция - это необходимость, такие вещи, как простой в ноль, трудно достичь (по крайней мере, я не думаю, что это то, о чем вы просите). Шаги, которые необходимо автоматизировать с помощью Jenkins:

1 - Создайте и разверните последнюю версию NoPlayProj, которая находится в каком-то репозитории

2. Создайте и разверните последнюю версию PlayProj, которая находится в каком-то репозитории, а также содержит последний коммит, в котором вы обновили зависимость, существующую с помощью NoPlayProj

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

Чтобы прояснить одно, вы сказали: My goal is to use code from NotPlayProj in PlayProj and have both Eclipse and the Play compiler notice changes in either project.

Хорошо, порядок, в котором вы выполняете сборки, зависит от того, что вы хотите сделать, пока вы обновляете зависимость до того, как будете совершать код.

Последнее, если вы не хотите развертывать, вам не нужно это делать, вы можете создавать задания Jenkins таким образом, чтобы вы только строили. С Jenkins вы можете сделать много вещей, также вы можете выполнить собственные скрипты справки, которые могут предоставить вам дополнительную функциональность.

Надеюсь, это было полезно.

Ответ 2

Чтобы Eclipse видел изменения в NotPlayProj при работе с PlayProj, достаточно изменить конфигурацию PlayProj. Properties- > Java build path → Projects → Добавить NotPlayProj как зависимость.

Нет простого способа разрешить зависимым от обработчика Play компилятора, пока вы не упакуете его как банку. Рассмотрим конфигурацию простой задачи ant (настройка внешних инструментов → ant build), которая скопирует ваш файл jar. Задание может быть вызвано нажатием клавиши или кнопки.

С управляемыми зависимостями, каждый раз, когда вы делали изменения в NotPlayProj, вы должны вручную перестроить его. Чтобы позволить Ivy/Maven устанавливать зависимость в вашем локальном репозитории. После этого Play будет сделан последний моментальный снимок из вашего локального репозитория.

Оба подхода требуют определенных усилий. Возможно, вы можете взглянуть на скрипты Python, которые запускают Play, возможно, этого достаточно, чтобы расширить путь к классу NotPlayProj при запуске игры

Ответ 3

Хотя я никогда не использовал платформу воспроизведения, я бы подумал, что есть формат, который понимают как игровая инфраструктура, так и затмение, и это Maven. Посмотрите http://www.playframework.com/modules/maven-head/home