Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Maven сборка проета  [new]
Timein
Member

Откуда:
Сообщений: 108
Добрый день.
Есть задача из одного кода собрать два фактически одинаковых приложения, разница у которых лишь в одном файле пропертей.
Оба одновременно должны стоять на сервере приложений, так что, скорее всего, профили мавена не подойдут.
Есть ли возможность это как-то сделать?
И реально ли это вообще?
3 июл 19, 13:36    [21919817]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
Герой дня
Member

Откуда: obmanula.ru
Сообщений: 30539
создай два подмодуля и в них свои директории resources с файлами свойств и тп
3 июл 19, 14:52    [21919930]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2446
Timein,
Где они одинаковы, если одновременно стоят?
Ты в папке 2 одинаковых файла видел?
3 июл 19, 14:54    [21919934]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2446
Timein,
Под ВебПриложением я понял деплой war ника на томкат
3 июл 19, 14:56    [21919939]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4006
Timein
Добрый день.
Есть задача из одного кода собрать два фактически одинаковых приложения, разница у которых лишь в одном файле пропертей.
Оба одновременно должны стоять на сервере приложений, так что, скорее всего, профили мавена не подойдут.
Есть ли возможность это как-то сделать?
И реально ли это вообще?

В разные папки поставить вам запрещают?
3 июл 19, 16:32    [21920065]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 1999
Timein
Добрый день.
Есть задача из одного кода собрать два фактически одинаковых приложения, разница у которых лишь в одном файле пропертей.
Оба одновременно должны стоять на сервере приложений, так что, скорее всего, профили мавена не подойдут.
Есть ли возможность это как-то сделать?
И реально ли это вообще?


На спрингбуте это делается легко - при запуске просто указываются те проперти которые нужны.

Вот к примеру как это сделано у меня для тестового задания Рипл по приколу


java -jar target/demo-0.0.1-SNAPSHOT.jar	


https://github.com/SVyatkin/RippleJavaTechnicalChallenge/blob/master/demoAlice.sh


java -Dserver.port=8088 -Dcom.trustline.partner.url=http://localHost:8080 -Dcom.trustline.my.name=Bob -Dcom.trustline.partner.name=Alice -jar target/demo-0.0.1-SNAPSHOT.jar	


https://github.com/SVyatkin/RippleJavaTechnicalChallenge/blob/master/demoBob.sh

Как Вы понимаете порты у запущенных приложений будут разные ну и соответственно пропрети те которые укажите через параметры.

Удачи коллега
3 июл 19, 17:14    [21920107]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2446
Timein
Есть задача из одного кода собрать два фактически одинаковых приложения, разница у которых лишь в одном файле пропертей.

Собрать, сменить расширение war на zip, заменить файл и обратно переименовать.
3 июл 19, 17:44    [21920131]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
mayton
Member

Откуда: loopback
Сообщений: 42879
Ценность такой архитектуры - сомнительна. Обычно такие задачи возникают
когда какое-то плохое взаимодействие между отделом разработки и админами
или девопсами.

+1 к настройкам SpringBoot. Там есть тысяча способов передать приложению
другие конфигурации при этом не меняя ни одного байта в артифакте.
3 июл 19, 19:04    [21920211]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
Timein
Member

Откуда:
Сообщений: 108
Герой дня
создай два подмодуля и в них свои директории resources с файлами свойств и тп

Спасибо, вообще хорошее решение. Но хотелось бы избежать создания по сути пустых модулей (кода в них, получается, не будет, только сорсы)

[quot Sergunka]
Timein
Как Вы понимаете порты у запущенных приложений будут разные ну и соответственно пропрети те которые укажите через параметры.
Удачи коллега

Спасибо. Проблема в том, что приложения деплоятся варниками на сервер приложения. Поэтому запуск через java -jar тут не подойдет.

mayton
+1 к настройкам SpringBoot. Там есть тысяча способов передать приложению
другие конфигурации при этом не меняя ни одного байта в артифакте.

Честно говоря, со Spring Boot не работал. Если подкинете ссылку на какие-нибудь простенькие примеры по подключению разных пропертей - буду благодарен
4 июл 19, 02:02    [21920394]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2446
Timein
со Spring Boot не работал
хм.
А если в приложении переключатель в динамике на тот или иной конфиг?
А конфиги проперти по адресу с:\conf или /home/conf
Зачем именно экземпляры приложения на разных портах или на одном порту но с разным url?
Это тоже 1000 способов только без Boot.
4 июл 19, 07:09    [21920408]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2446
Timein
Проблема в том, что приложения деплоятся варниками
вы сказвли что приложение одно и то же, тогда правильнее сказать Копии приложения деплоятся.
4 июл 19, 07:10    [21920409]     Ответить | Цитировать Сообщить модератору
 Re: Maven сборка проета  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1918
У меня сделано примерно так
профили в мавене dev release и т.д.

разные файлы в /resources
1. application.properties
с содержанием:
spring.profiles.active=@activatedProperties@

application-dev.properties
application-release.properties

и внутри что-то них типа:
spring.profiles.active=dev
.... блаблабла ...
и там же настройки подключения к бд, которые при деплое указываются
spring.datasource.url=jdbc:postgresql://${PG_DB_HOST}:${PG_DB_PORT}/${PG_DB_NAME}
spring.datasource.username=${PG_DB_USERNAME}
spring.datasource.password=${PG_DB_PASS}
ну и еще всякая штука специфичная

В итоге можно развернуть 2 приложения с разными настройками, собрав их мавеном.
Вроде работает)
Можно нагуглить подробнее как делать по "spring.profiles"
4 июл 19, 09:03    [21920451]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить