Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Сборка программы при помощи maven. Как ?


Автор: startpoint 30.7.2012, 13:26
Есть в maven такое понятие, как http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html. И вот предположим, разрабатывая проект, я кладу какой-нибудь конфигурационный файл, типа, app.properties в директорию src/main/config и обращаюсь к нему по абсолютному пути. И вот, в конце-концов, приложение как мне кажется отлажено, я запускаю mvn package и запаковываю приложение в jar-архив. Запаковываю и отправляю на другой комп, где естественно ничего не работает т.к. моего app.properties здесь никогда и не было, а лежит он теперь в корне jar-фрхива. И что делать ? Как мне до него достучаться ?
Как достучаться это ещё пол беды, как так разрабатывать вообще, если сейчас конфиг лежит в src/main/config, а после упаковки - в архиве..?

Автор: LSD 30.7.2012, 13:45
Цитата(startpoint @  30.7.2012,  14:26 Найти цитируемый пост)
обращаюсь к нему по абсолютному пути

Вот так делать не надо, надо работать с ним как с ресурсом.

Автор: startpoint 30.7.2012, 13:52
Это решит мои проблемы ? Т.е. если общаться с моим конфигом как с ресурсом, то не важно где он, в архиве или в src/main/config, так ? Если да, не могли бы вы пример привести или ткните носом куда смотреть, а то я чо то про эти ресурсы ничего не знаю...

Автор: LSD 30.7.2012, 15:16
Цитата(startpoint @  30.7.2012,  14:52 Найти цитируемый пост)
Это решит мои проблемы ?

При условии что содержимое попадет в classpath. Поскольку src/main/config не используется в Maven 2.0 и старше, непонятно как ее содержимое вообще попадает в jar.

Автор: mstalker26 31.7.2012, 10:33
startpoint, посмотри пример приблизительно как это выглядит (накатал на скорую руку, но принцип должен быть понятен).

Автор: startpoint 1.8.2012, 15:25
Цитата(LSD @ 30.7.2012,  15:16)
Поскольку src/main/config не используется в Maven 2.0 и старше, непонятно как ее содержимое вообще попадает в jar.

Вот так:
Код

<build>
    ...
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>src/main/config</directory>
        </resource>
    </resources>
    ...
</build>

А вообще, друзья, спасибо большое за помощь. mstalker26 отдельный респект за пример  smile 

Автор: LSD 1.8.2012, 18:34
Цитата(startpoint @  1.8.2012,  16:25 Найти цитируемый пост)
Вот так:

Вот это стоило сразу упомянуть smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)