Веб-проект Java, ссылающийся на другой проект Java

Вы не должны использовать подход ожидания / уведомления.

Будет лучше использовать Lock with Condidions https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html#await-long-java. util.concurrent.TimeUnit-

Ожидает тайм-аут и вернет false, если время ожидания заметно истекло до возврата из метода, в противном случае - true

9
задан mjn 14 November 2009 в 11:25
поделиться

4 ответа

В Eclipse вы можете объявить Ссылки на проект для данного проекта, в вашем случае - веб-приложения. Для этого щелкните правой кнопкой мыши проект веб-приложения, затем выберите Свойства> Ссылки проекта и выберите проект JavaApplication . Это должно позволить вам вызывать код из проекта JavaApplication из WebApplication без необходимости создания WAR. Это решение для разработки .

Для стандартного развертывания (вне среды IDE) вы действительно должны создать стандартную WAR. Для этого вам нужно упаковать свое JavaApplication как JAR, включая . файлы класса и файлы в / resources , но не библиотеки, от которых он зависит (JAR в / lib ). Эти зависимости фактически окажутся в каталоге WEB-INF / lib WAR, рядом с JAR вашего JavaApplication . Эти шаги обычно автоматизируются с помощью таких инструментов, как Ant или Maven .

15
ответ дан 4 December 2019 в 06:30
поделиться

Обычно интерфейс API создается с использованием удаленных служебных компонентов из приложения Java, которые предоставляют методы, которые вы хотите вызывать в веб-приложении. Вы должны включить в свое веб-приложение прокси-сервер интерфейса API, который вызывает компонент удаленной службы в приложении Java. Помните, что вам нужно будет зарегистрировать удаленный компонент в файле web.xml.

0
ответ дан 4 December 2019 в 06:30
поделиться

В свойствах проекта Eclipse добавьте проект в Зависимости модуля Java EE (Eclipse 3.5 или старше)

Java EE Module Dependencies

или Сборка развертывания (Eclipse 3.6 или новее) запись в свойствах проекта.

Deployment Assembly

Таким образом, Eclipse позаботится о том, чтобы сделать все правильно, чтобы создать из всего этого WAR (она закончится на / WEB-INF / lib ). Никакая другая конфигурация не требуется, даже не возня с Путь сборки .

16
ответ дан 4 December 2019 в 06:30
поделиться

Подумайте о переходе на уровень EAR, если ваш веб-контейнер поддерживает это.

Сложная часть с общим кодом - это место, где должен быть размещен общий код. Копия веб-приложения PR? Копия в веб-контейнере? Если переусердствовать с «общими классами», это может привести к проблемам с загрузчиком классов.

Если вы создаете два отдельных веб-приложения, реорганизуйте общий Java-код в отдельный проект Eclipse и обращайтесь к нему из обоих проектов WAR.


РЕДАКТИРОВАТЬ: По-видимому, я неправильно прочитал описание проблемы и подумал, что вы спрашивали о существующем и новом коде совместного использования веб-приложений.

Если у вас есть проект Eclipse с вашим приложением, а другой - с вашим веб-интерфейсом, тогда вы может позволить вашему приложению экспортировать необходимые ресурсы, которые «Экспорт WAR» в Eclipse Java EE может обернуть в файл jar и поместить в WEB-INF / lib для вас. Вы должны указать это явно, поставив галочку в разделе «Свойства» -> «Зависимости модуля Java EE» для вашего веб-проекта. Ожидайте, что вам придется немного поэкспериментировать - мне потребовалось время, чтобы научиться этому.


РЕДАКТИРОВАТЬ: По-видимому, я неправильно прочитал описание проблемы и подумал, что вы спрашивали о существующем и новом коде совместного использования веб-приложений.

Если у вас есть проект Eclipse с вашим приложением, а другой - с вашим веб-интерфейсом, тогда вы может позволить вашему приложению экспортировать необходимые ресурсы, которые «Экспорт WAR» в Eclipse Java EE может обернуть в файл jar и поместить в WEB-INF / lib для вас. Вы должны указать это явно, поставив галочку в Свойства -> Зависимости модуля Java EE для вашего веб-проекта. Ожидайте, что вам придется немного поэкспериментировать - мне потребовалось время, чтобы научиться этому.


РЕДАКТИРОВАТЬ: По-видимому, я неправильно прочитал описание проблемы и подумал, что вы спрашивали о существующем и новом коде совместного использования веб-приложений.

Если у вас есть проект Eclipse с вашим приложением, а другой - с вашим веб-интерфейсом, тогда вы может позволить вашему приложению экспортировать необходимые ресурсы, которые «Экспорт WAR» в Eclipse Java EE может обернуть в файл jar и поместить в WEB-INF / lib для вас. Вы должны указать это явно, поставив галочку в разделе «Свойства» -> «Зависимости модуля Java EE» для вашего веб-проекта. Ожидайте, что вам придется немного поэкспериментировать - мне потребовалось время, чтобы научиться этому.

тогда вы можете позволить своему приложению экспортировать необходимые ресурсы, которые «Экспорт WAR» в Eclipse Java EE может обернуть в файл jar и поместить в WEB-INF / lib для вас. Вы должны указать это явно, поставив галочку в Свойства -> Зависимости модуля Java EE для вашего веб-проекта. Ожидайте, что вам придется немного поэкспериментировать - мне потребовалось время, чтобы научиться этому.

тогда вы можете позволить своему приложению экспортировать необходимые ресурсы, которые «Экспорт WAR» в Eclipse Java EE может обернуть в файл jar и поместить в WEB-INF / lib для вас. Вы должны указать это явно, поставив галочку в разделе «Свойства» -> «Зависимости модуля Java EE» для вашего веб-проекта. Ожидайте, что вам придется немного поэкспериментировать - мне потребовалось время, чтобы научиться этому.

2
ответ дан 4 December 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: