
Kirill
28.06.2018
07:12:41
Можно взять корневой ресурс и дальше каким-то образом попробовать изменить урл на уровнем выше

Yehor
28.06.2018
07:13:50
Каталог это не ресурс
просто если запустить без упаковки в jar то все работает нормально. Как человека малознакомого с jvm это сбивает с толку. Почитал про classLoader пока так и не понял почему так.

Kirill
28.06.2018
07:14:44

Google

Kirill
28.06.2018
07:14:55
Другой вопрос - зачем?

Yehor
28.06.2018
07:22:08
Другой вопрос - зачем?
писать временные данные в папку с портативным проектом.
временные каталоги системы или пользовательской директории использовать не хочу, т.к. потом с нужными данными тяжело передать апликацию другому пользователю.
использовать текущую директорию тоже не хочу, т.к. файл может быть запущен с другого каталога где этих файлов может не быть.
в аргумент передавать каталог где лежит jar это извращение, дублированние данных (я и так при запуске указываю этот самый jar)
программа генерирует данные и делает "mock" сервер.
знаю что можно было использовать готовые решения для моков, но хотелось самому написать.
если есть совет как это сделать, буду очень признателен.

Bogdan
28.06.2018
07:23:50
по умолчанию она его не делает
а чего гредлом не запускаешь ? или мавеном ?

Yehor
28.06.2018
07:25:46
погугли идея как сделать джар
https://www.jetbrains.com/help/idea/working-with-artifacts.html
тут описано.
но тонкой настройки или билд системы на чем работает intellij я не нашел.

Bogdan
28.06.2018
07:27:03

Yehor
28.06.2018
07:27:05
а чего гредлом не запускаешь ? или мавеном ?
можно, но хотел сначала понять почему разработчики инструмента каким я начал пользоваться решили что "их система лучше"
то что в настройках можно переключить на gradle tasks я знаю.

Bogdan
28.06.2018
07:27:47
https://ru.stackoverflow.com/questions/427538/%D0%9A%D0%B0%D0%BA-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-jar-%D0%B0%D1%80%D1%85%D0%B8%D0%B2-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F-%D0%B2-intellij-idea
https://javarush.ru/groups/posts/1352-kak-sozdatjh-ispolnjaemihy-jar-v-intellij-idea--how-to-create-jar-in-idea
вот еще

Yehor
28.06.2018
07:32:35
там вроде описано как запустить джар, а не собрать
"Building artifacts"
там есть раздел на 7 строк :)
и там написано как раз про это.
я гуглил и читал доки.
просто у меня все работает, но я хотел узнать может где есть подробное описание их билд системы.
повторю.
все работает, все собирает, все хорошо.
окромя того что ресурсы не кидает в jar.

Google

Bogdan
28.06.2018
07:34:38
или в https://t.me/jvmchat

Yehor
28.06.2018
07:35:02

Kirill
28.06.2018
07:36:52
И точно есть команда запуска

Yehor
28.06.2018
07:39:04

Kirill
28.06.2018
07:40:14
А вообще такие штуки лучше хранить в /usr/share или ~/.config
Ну или AppData в случае бгмерзкой

Yehor
28.06.2018
07:42:34

Anton
28.06.2018
07:42:45

Kirill
28.06.2018
07:43:40
Кстати все что в каталоге запуска автоматически является ресурсами

Yehor
28.06.2018
07:44:57

Kirill
28.06.2018
07:45:58

Kirill
28.06.2018
08:07:43
Привет, подскажите как мне сделать bool переменную, чтобы в Java она выглядела как примитивная джавовая переменная?
то есть как bool а не Boolean

Alexander
28.06.2018
08:08:06
Boolean
в джаве нет bool, есть boolean и котлиновский Boolean конвертится в примитив
где это возможно

Kirill
28.06.2018
08:09:38
окей

Google

Alexander
28.06.2018
08:09:50
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html

Peter
28.06.2018
08:32:22
всем привет. подскажите пожалуйста насчет яндекс карт и котлина.
1. есть проект на java (старый), там используются яндекс карты ru.yandex:yandexmapkit:2.5.4@aar
даже если ключ там указать не правильный, карты запускаются и показываются.
2. есть новый проект на kotlin, куда я переношу новый валидный api ключ и карты не отображаются ни на версии sdk 2.5.4, ни на 3.0.0
подключаю по туториалу яндекса. Может это быть связано с котлин?

Alexey
28.06.2018
08:46:47

Igor
28.06.2018
08:49:22
В любом случае это сюда @kotlin_mobile

Quantum Harmonizer
28.06.2018
08:50:30
Котлин может не скомпилироваться, в частности, кажется, есть бака, связанная с MapKit. Может бросить KNPE где-нибудь. Но на работу библиотек или их ключей не влияет.


Глеб
28.06.2018
09:14:10
Господа, есть вопрос, на который я как-то пытался сыскать ответ. Хочу проверить переменную на null и выполнить действие не только в случае, если она не null, но и в обратном случае. На ум приходит только if (a!=null) else и вот такая борода с ?.let: a?.let { doSomething(it) } ?: { oopsAIsNull() }(). Оно компилируется и работает, но я не уверен, что нет лучшего решения.

dimiii
28.06.2018
09:18:24
Оно приходит с подходящей архитектурой

Dibro
28.06.2018
09:20:11
лучше ифа вряд-ли что-то есть

Глеб
28.06.2018
09:20:48

Dibro
28.06.2018
09:21:21
если doSomething(...) -- Unit, то ничего страшного, конечно

Глеб
28.06.2018
09:23:04
Да, в целом рассчет на то, что там Unit

Dibro
28.06.2018
09:23:24
все же
лучше ифа вряд-ли что-то есть
через лет -- костыль на мой взгляд

Глеб
28.06.2018
09:23:56
с if есть проблема, если использовать не с переменной, а с пропертёй
воооот...

Google

Dibro
28.06.2018
09:24:25

Alexey
28.06.2018
09:24:31

Dibro
28.06.2018
09:24:42
у тебя лямбды поломались кстать

Alexey
28.06.2018
09:25:38
щас бы к синтаксису докапаться

Bogdan
28.06.2018
09:25:57

Глеб
28.06.2018
09:26:02
Разве fold не для чего-то другого обычно используют?

Alexey
28.06.2018
09:26:41
Ну например в скалке у Option.fold примерно такая сигнатура
И это значительно читаемее чем if

Глеб
28.06.2018
09:27:44
да если-бы просто if, то я-бы даже не озаботился этим вопросом. А вот val a = a; if(a)... - это уже проблема.

Alexey
28.06.2018
09:27:47
nullableResult.fold(
() => default
someFun
)

Oleg
28.06.2018
09:28:34
чем вас when тогда не устраивает?
примерно то же самое и выйдет

Bogdan
28.06.2018
09:29:02

Dibro
28.06.2018
09:29:22

dimiii
28.06.2018
09:29:51

Alexey
28.06.2018
09:30:09
Там не будет смарткаста

Глеб
28.06.2018
09:30:19

dimiii
28.06.2018
09:30:33
(nice)

Dibro
28.06.2018
09:31:53
В каком смысле лишние?
ну например проперти вычисляема, тогда для каждой ветки when'а будет заново. хотя смотря как написать

Google

Igor
28.06.2018
09:34:45

Alexey
28.06.2018
09:35:05

dimiii
28.06.2018
09:36:04
В ход не пошли варианты с arrow-kt - и на том спасибо

Глеб
28.06.2018
09:40:26
fold ништяк. И смарткасты работают, и не так натянуто на глобус как с let
спасибо

Жабра
28.06.2018
12:29:42
Подскажите, пожалуйста: от сервера приходит ответ, парсю его kotson-ом (kotlin-gson) в такой класс
class Response(
val context: String,
val function: String,
val `object`: String,
@SerializedName("requested_element") val requestedElement: ArrayList<User>?,
val status: String
)
Но проблема в том, что в зависимости от object у меня могут быть разные requestedElement: либо User, либо Device. Делать два класса на Response чёт не хочется... Как лучше сделать?

Quantum Harmonizer
28.06.2018
12:30:11

Жабра
28.06.2018
12:32:02
дженерик?..
Не совсем понял, что именно вы предлагаете. Я попытался сделать типо
sealed class Entity
class User(...) : Entity()
class Device(...) : Entity()
и там val requestedElement: ArrayList<Entity>?
Но чёт не вышло, gson не понимает.

Quantum Harmonizer
28.06.2018
12:32:53
class Response<T>(
...,
val requestedElement: List<T>,
...
)

Жабра
28.06.2018
12:33:10

1337
28.06.2018
12:36:16
как идиоматично определить @TestRule используя котлин?
через @jvmfield?

Uladzimir
28.06.2018
12:39:26
Добрый день, подскажите пожалуйста, какую либу лучше использовать для отправки http(s)запросов ?

Quantum Harmonizer
28.06.2018
12:40:13

Uladzimir
28.06.2018
12:40:29

dimiii
28.06.2018
12:42:14
Админы, как насчет того, чтобы проводить голосования - кто какие библиотеки использует, style checkers, test, assertion/matchers, orm, web блабла - вот это все?

Anton
28.06.2018
12:44:04
зачем?

dimiii
28.06.2018
12:50:01
зачем?
У меня нет другого ответа, кроме очевидного, который не требует озвучивания

Anton
28.06.2018
12:51:15
я просто не вижу профита от этого поэтому и спросил) можем еще викторины по субботам проводить с призами