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

Как обмениваться веб-контентом между проектами eclipse

Хотя ссылочная функция модуля J2EE позволяет создавать общие проекты библиотеки Java, я не могу найти оптимальный способ сделать это для веб-контента.

У меня есть общие JSP, CSS файлы, библиотеки JavaScript и даже фрагменты дескрипторов, которые я бы хотел использовать во многих динамических веб-проектах, так что эти артефакты редактируются только в одном месте, но будут экспортироваться в каждый из Динамические файлы WAR WebProject.

Я удивлен, что не могу найти способ повысить повторное использование в веб-пространстве без написания собственных сценариев и подключения к процессу экспорта.

Есть ли способ сделать это? Благодарю. Матф.

4b9b3361

Ответ 1

Я долго боролся с той же проблемой и, наконец, наткнулся на хорошее решение: "Связанные папки". Это функция Eclipse, которая работает аналогично символическим ссылкам - она ​​позволяет отображать одну физическую папку в несколько проектов. Самое приятное в этом решении заключается в том, что он не требует каких-либо специальных шагов сборки, поэтому Eclipse может автоматически развертывать изменения на локальном сервере Tomcat для тестирования.

Моя конфигурация выглядит следующим образом: у меня есть проект Eclipse с именем "SharedContent". Внутри каталога WebContent находится подкаталог "shareRoot". Все файлы многократного использования -.jsp,.css и т.д. - находятся где-то под SharedContent/WebContent/shareRoot. Это динамический веб-проект, поэтому все соответствующие редакторы включены, но я никогда не собираю и не развертываю его.

В моих других проектах я добавляю Связанную папку, указывающую на shareRoot. В Eclipse 3.6 выполняются следующие шаги:

  • В Проводнике пакетов щелкните правой кнопкой мыши каталог WebContent проекта, который должен включать файлы многократного использования.

  • Выберите "Создать" → "Папка".

  • Нажмите кнопку "Дополнительно → > ".

  • Выберите переключатель "Ссылка на альтернативное местоположение (связанная папка)".

  • В текстовом поле под этим названием нажмите "Обзор".

  • В исходном дереве перейдите к SharedContent/WebContent/shareRoot. Затем нажмите OK/Open/Finish, пока все диалоги не исчезнут.

Общий контент теперь отображается в вашем проекте. Раздражающе, вы должны включить "shareRoot/" в URL-адрес при ссылке на эти файлы, но вы можете обойти это, используя свой любимый фильтр перезаписи URL-адресов.

Вы можете использовать подобный трюк в исходном дереве Java для сопоставления файлов Java в нескольких проектах. Я начал это делать, вместо того, чтобы создавать общий код в файле .jar, потому что он избегает необходимости перестраивать .jar каждый раз, когда вы хотите протестировать изменения на локальном сервере Tomcat.

Ответ 2

Я считаю, что писать собственные сценарии (например, пользовательские шаги сборки с использованием ant, легко настраиваемые в eclipse) являются наиболее практичными решениями.

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

Я могу представить некоторые трюки с tomcats crossContext = "true" для контекста (например, webapplication), позволяя одному приложению получать доступ к классам в другом приложении, но еще не пробовал их.

Извините - я считаю, что не тот ответ, который вы хотели бы услышать...

Ответ 3

Если вы используете Subversion, вы можете использовать SVN: внешние ссылаться на общие файлы в обоих проектах. Затем вы можете редактировать общие файлы в одном месте, и если вы выполните svn up, все будут синхронизированы.

Ответ 4

Ха-ха, я дам поздний сюрприз

Я китайский, мой английский плохой, но я могу помочь вам.

Олаф Кок прав, но его ответ не идеален.

Вот идеальный ответ. u должен ссылаться на следующий url, он может hep u.

нажмите здесь

на странице url, пример для поля содержимого не является точным, u fllow me:

если необходимо предоставить общий доступ к файлу:

a.jsp  svn://myhome.com/svn/myproject/trunk/a.jsp

если необходимо открыть папку:

xml  svn://myhome.com/svn/myproject/trunk/xml