|
|
|
Сборка WAR-архива, как оставить некоторые файлы "за бортом"
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Я новичок в Java и не надо кидаться помидорами) Пишу курсовую. Dynamic Web Project в Eclipse. Уже написал пару сервлетов, взаимодействие с БД, авторизацию (простенькую), и вспомнил, что есть требование - готовый проект должен быть представлен в виде war-архива. Собирать решил Ant-ом, ибо с Maven-ом ещё успею в своей жизни "покучерявиться", и так как выбрал именно его, ответов типа "Делай на Maven" не стоит) Так вот, проблема. В приложении структура моего проекта. Накидал простенький скрипт паковки WAR: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. И тут я понял: есть файл src/dao.properties в проекте, в котором лежат параметры подключения к БД, которые я считываю внутри кода и уже потом создаю подключение к БД. Так вот, можно ли как-то этот файл с настройками оставить за бортом архива, чтобы при каждом изменении данных подключения к БД не приходилось перепаковывать? Или это в принципе не возможно? Я ещё плохо понимаю концепцию самих WAR-файлов и их дальнейшей судьбы в Tomcat. Заранее спасибо за ответы, если они будут. P.S. Если заметили какие-то ошибки, то буду благодарен за советы по их устранению. P.P.S. Я смотрел в поиске по всем возможным запросам и читал FAQ-похожих тем не нашел. Если подобная тема есть - прошу прощения, что проглядел и буду благодарен за ссылочку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 16:58:50 |
|
||
|
Сборка WAR-архива, как оставить некоторые файлы "за бортом"
|
|||
|---|---|---|---|
|
#18+
В мануале Tomcat ищи раздел JNDI DataSource How to. Направление мысли совершенно верное. Настройки БД нужно выносить из приложения в контейнер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:09:11 |
|
||
|
Сборка WAR-архива, как оставить некоторые файлы "за бортом"
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо вам) Я словил маленькое состояние просветления. По идее, настройки JNDI хранятся в файле context.xml, который у меня, кстати, ещё даже не создан. Собственно, у меня сейчас не пул БД, а просто соединение через JDBC, что не особо круто. Но, допустим, с этим я разобрался. Можно ли оставить context.xml вне архива, и как, собственно, в Ant-скрипте указать, что он должен быть где-то за пределами? UPD. Где-то среди мануалов Tomcat-a нашел следующее: TomcatManualIn individual files (with a ".xml" extension) in the $CATALINA_BASE/conf/[enginename]/[hostname]/ directory. The name of the file (less the .xml extension) will be used as the context path. Multi-level context paths may be defined using #, e.g. foo#bar.xml for a context path of /foo/bar. The default web application may be defined by using a file called ROOT.xml. Only if a context file does not exist for the application in the $CATALINA_BASE/conf/[enginename]/[hostname]/, in an individual file at /META-INF/context.xml inside the application files. If the web application is packaged as a WAR then /META-INF/context.xml will be copied to $CATALINA_BASE/conf/[enginename]/[hostname]/ and renamed to match the application's context path. Once this file exists, it will not be replaced if a new WAR with a newer /META-INF/context.xml is placed in the host's appBase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:27:56 |
|
||
|
Сборка WAR-архива, как оставить некоторые файлы "за бортом"
|
|||
|---|---|---|---|
|
#18+
veressМожно ли оставить context.xml вне архива, и как, собственно, в Ant-скрипте указать, что он должен быть где-то за пределами? Ant собирает сам проект. К конфигурации сервера он особого отношения не имеет, если только вы не собираетесь встраивать сервер в своё приложение или инсталятор. veressUPD. Где-то среди мануалов Tomcat-a нашел следующее: TomcatManualIn individual files (with a ".xml" extension) in the $CATALINA_BASE/conf/[enginename]/[hostname]/ directory. The name of the file (less the .xml extension) will be used as the context path. Multi-level context paths may be defined using #, e.g. foo#bar.xml for a context path of /foo/bar. The default web application may be defined by using a file called ROOT.xml. Only if a context file does not exist for the application in the $CATALINA_BASE/conf/[enginename]/[hostname]/, in an individual file at /META-INF/context.xml inside the application files. If the web application is packaged as a WAR then /META-INF/context.xml will be copied to $CATALINA_BASE/conf/[enginename]/[hostname]/ and renamed to match the application's context path. Once this file exists, it will not be replaced if a new WAR with a newer /META-INF/context.xml is placed in the host's appBase. [/quot] Ну, дык, это же ответы на все ваши вопросы! DataSource, кстати, можно создавать не только в context.xml приложения, но и в глобальном $CATALINA_BASE/conf/context.xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:41:05 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=197&tid=2128089]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 349ms |

| 0 / 0 |
