
Vyacheslav
23.07.2018
09:41:35

Mikhail
23.07.2018
10:43:26
А эта, есть в природе скидочные коды на Highload++ 2018?

Dmitry
23.07.2018
11:01:12
Сколько боли. Может лучше на спринге без бута попробовать, чтобы не надеяться на подкапотную магию?

Google

guga
23.07.2018
11:01:58
там никакой магии нету, стартеры всего лишь дефолтные конфиги и готовые бины

Dmitry
23.07.2018
11:07:15

guga
23.07.2018
11:10:18
или не подключать не нужные автоконфигурации

Dmitry
23.07.2018
11:11:24

Igor
23.07.2018
11:31:50

Pavel
23.07.2018
11:47:18
Ребят, посоветуйте что почитать по поводу разработки своих библиотек на предмет описания зависимостей. Есть ощущение, что при разработке библиотеки внешние зависимости следует подключать только при тестах, чтобы конкретную версию указать уже в проекте, который будет использовать эту библиотеку. Но как понять, с какой версией внешней зависимости совместима библиотека? Как избежать dependency hell. Использовать или не использовать bom? Хочется привести мысли в порядок

Vladimir
23.07.2018
11:50:16

Pavel
23.07.2018
11:51:15
Собственные зависимости норма - это понятно. Но какой скоуп (если в рамках maven) должен быть у них?
Как понять забивает библиотека на обратную совместимость или нет?

Vladimir
23.07.2018
11:52:29

Alexandr
23.07.2018
11:52:48
это provided scope

Vladimir
23.07.2018
11:53:45
это provided scope
provided же вроде не тянет зависимость в runtime?
Наверное, к нему ещё runtime добавить надо, и будет такой же эффект.

Google

Quantum Harmonizer
23.07.2018
11:54:00
implementation специфичен для gradle-android и более-менее эквивалентем compile

Alexandr
23.07.2018
11:54:35

Vladimir
23.07.2018
11:54:55

Alexandr
23.07.2018
11:54:59
он не только для андройда применим

Pavel
23.07.2018
11:55:22
Вот я пишу две библиотеки. Одна использует гуаву:А, другая гуаву:B. Если использовать provided, то в проект, использующем обе эти либы нужно указать конкретную версию гуавы. Вопрос, какую?
Если дефолтный скоуп использовать, то внешняя зависимость придет и в проект. Тогда (при использовании энфорсер-плагина) нужно будет поэксклюдить одну зависимость. И тут уже начинается hell

Vladimir
23.07.2018
11:55:25

Enterpise
23.07.2018
11:55:25
Hibernate - магически исчезающий ORM фреймворк

Alexandr
23.07.2018
11:55:25
Да
сорян, вспомнил. не совсем в provided же фишка

Pavel
23.07.2018
11:56:32
Вот я и ищу какой-то аргументированный мануал

Vladimir
23.07.2018
12:03:13

Enterpise
23.07.2018
12:07:56
Java - магически исчезающий ЯП

Artjom
23.07.2018
12:10:42
Куда исчезает то?

Quantum Harmonizer
23.07.2018
12:11:33
кажется, кто-то просто хочет срача

Alexandr
23.07.2018
12:12:03
это просто провокатор
пхпшник наверно

Роман
23.07.2018
12:12:37
hibernate умрёт только тогда когда никогда, не в ближайшем будущем, в общем

Artjom
23.07.2018
12:12:39
Андроид разработчик который писал на 6ой джаве и тут увидел котлин

Роман
23.07.2018
12:14:03
есть книжки по концентрации для программистов? Часто отвлекаюсь на всякую муть, может кто знает? Вообще топово для perfomance'а было бы

Artjom
23.07.2018
12:14:45
Вот эта книжка неплоха

Google

Artjom
23.07.2018
12:14:46
https://pragprog.com/book/ahptl/pragmatic-thinking-and-learning

Диоген
23.07.2018
12:17:17
ребят впадлу доку читать
если у меня внутри джярника application.properties
и снаружи в папке из которой я запускаю джярник application.properties, он их как мерджит?
он полностью игнорит внутренний или пропертисы из внешнего файла оверрайдят?
жесть че я написал
кароч я хочу снаружи добавить пропертис файл и там оверрайдить пропертисы, а если они не оверрайднуты, то шобы он брал дефолтное значение описанное во вшитом в джярник файле пропертей - ето так роботает?

Роман
23.07.2018
12:20:12
в чём проблема? читай внешний файл
если не хочешь углубляться(это плохо, конечно) могу предложить решение создай класс с необходимыми переменными, который при запуске или при определенных действиях гетает из properties файла нужное, а если существует скажем файлик рядом с джарником, то читает всё с него

Диоген
23.07.2018
12:22:15
сложна чет, пришлось доку открывать

Роман
23.07.2018
12:23:02
ты можешь почитать про внутренние ресурсы jar'ника и как к ним получить доступ, я не помню как это делал, но вроде просто юзал какую-то обертку вокруг него

Диоген
23.07.2018
12:23:04
ответ - да
For example, if additional locations of classpath:/custom-config/,file:./custom-config/ are configured, the search order becomes the following
file:./custom-config/
classpath:custom-config/
file:./config/
file:./
classpath:/config/
classpath:/
This search ordering lets you specify default values in one configuration file and then selectively override those values in another
меня вот че интересовало

Диоген
23.07.2018
12:24:45
то есть кароч да - пропертисы из файла оверрайдят пропертисы из джярника

Alexandr
23.07.2018
12:24:54

Диоген
23.07.2018
12:25:02

Alexandr
23.07.2018
12:26:08
он прочтет из ресурсов, потом пойдет искать внешний файл, если есть то он простет его и унаследует первый
все автоматом
и да, пользуемся бутом, пользуйтесь yml наконец

Enterpise
23.07.2018
12:26:35

Alexandr
23.07.2018
12:26:47

Google

Диоген
23.07.2018
12:27:19
мне ток терь интересно.
если у меня внутри джярника profile-спецыфик конфиг типа апликатион-продакшен.пропертис
и сноружи обычный пропертис
апликатин.пропертис, то заоверрайдит ли внешний пропертис из файла профайл-спецыфик пропертис из класпаса?

Alexandr
23.07.2018
12:28:42
нет, будет такой порядок поиска application-prod.properties внешний-> application-prod.properties внутренний -> application.properties внешний-> application.properties внутренний
ой, вру

Диоген
23.07.2018
12:29:06
Вреш?!!

Admin
ERROR: S client not available

Alexandr
23.07.2018
12:29:22
application-prod.properties внешний-> application.properties внешний-> application-prod.properties внутренний -> application.properties внутренний
вот так
внешний конфиг всегда главнее

Диоген
23.07.2018
12:29:47
А ну тогда ставлю ?

Alexandr
23.07.2018
12:30:12
и да application-prod.properties внешний обычно не используется ибо достаточно просто внешнего application.properties

Роман
23.07.2018
12:30:52

Диоген
23.07.2018
12:31:37
=*

Enterpise
23.07.2018
12:34:59

Vyacheslav
23.07.2018
12:50:12

Диоген
23.07.2018
12:54:09

oles
23.07.2018
12:55:24
привет! подскажите плз, если я гружу jar с помощью URLClassLoader, повлияет ли это на значение Thread.currentThread().getContextClassLoader?
вызов getContextClassLoader внутри самого jar

Google

Alexandr
23.07.2018
13:02:55

oles
23.07.2018
13:04:15
и если я использую URLClassLoader, может ли это спровоцировать ошибку при загрузке .properties файла внутри подгружаемого jar

Alexandr
23.07.2018
13:05:51
Вроде нет. Был какой то старый кейс с karaf, но тут ты же сам грузишь
А, вспомнил, там с другого модуля пытались тянуть

oles
23.07.2018
13:08:22
у меня проблема в том что если я упаковываю в свой jar файл все зависимости то при их иницализации вылетает ошибка NullPointerException при вызове java.util.Properties$LineReader.readLine, если же зависимости инициализируются не внутри моей jar либы а напрямую из приложения то все нормально

Alexandr
23.07.2018
13:11:00
Тут не конкретно в properties дело, любой ресурс
Надо смотреть. Какой тут делаешь?

oles
23.07.2018
13:12:35

Alexandr
23.07.2018
13:13:07
Тьфуты, не то набралось, путь какой?

oles
23.07.2018
13:13:45
вот эта либа https://github.com/ralph-tice/rome/blob/master/src/main/java/com/sun/syndication/io/impl/PropertiesLoader.java#L81

Alexandr
23.07.2018
13:14:42
classpath:/ добавь в начале

oles
23.07.2018
13:16:09
или куда