Обсуждают в коллекции

Фильм «Фонтан» 81


Тёрка в тагах


Сейчас обсуждают

Друзья

Его(2) Общие(0) Хотят дружить(0)


  • Atrinax

  • Blackoff

  • login

  • login

  • login

  • login

Враги

Его(0) Общие(0) Обиженные(1)

На странице: 24 48 96

Большая Тёрка / Мысли /

Личная лента

фото

olegchir

ыыыть!
Портрет жителя
«Самое главное в жизни, все загадки её — хотите, я высыплю вам сейчас?
Не гонитесь за призрачным — за имуществом, за званиями: это наживается нервами десятилетий, а конфискуется в одну ночь.
Живите с ровным превосходством над жизнью — не пугайтесь беды и не томитесь по счастью. Все равно ведь и горького не до веку и сладкого не дополна. Довольно с вас, если вы не замерзаете и если жажда и голод...
Читать далее
... не рвут вам когтями внутренностей... Если у вас не перешиблен хребет, ходят обе ноги, сгибаются обе руки, видят оба глаза и слышат оба уха — кому вам еще завидовать? Зависть к другим, больше всего съедает нас же.
Протрите глаза, омойте сердце и выше всего оцените тех, кто любит вас и кто к вам расположен. Не обижайте их, не браните.
Ни с кем из них не расставайтесь в ссоре. Ведь вы же не знаете, может быть, это ваш последний поступок и таким вы останетесь в их памяти.»

Солженицын, «Архипелаг ГУЛАГ»
«
6 p.m. Curling his upper lip,
Spermatozaurus Rex invades her driveway.
Music, he says, dear Helga, is just the tip
of a Steinway.
Look, he cries, at these palm trees swaying like them Chinese
characters, bent to destroy the message.
Your kid is collecting stamps, Helga!, and underneath
the album there is the Rites of Passage!
Come closer, my little Oedipus, us sphinxes we dig no vibes.
Now he quotes...
Читать далее
... Torricelli and waxes lyrical:
Helga, love is like water in unconnected pipes
seeking a faucet. Isn’t that a miracle?
I fought through the whole Pleistocene just to hit this swamp!
The rank was Gruppensexführer, a medal for every cushion.
I am so charged, he cries, I can stick my thumb
into my ass and suffer electrocution.
Nobody ever caught geology in the act!
Once, he brags, I knew History; it had brittle tendons.
The Monument to its Victims should stand not in front of the jail but at
the maternity ward’s main entrance.
Some still go for the jugular, Helga, but hit the bow tie.
Likewise every carpet bombing is followed by cries, “Excuse us!”
There is only one way to be born, but so many ways to die.
Stars look like beggars turned lucky choosers.
»
Бродский, 1992
Теперь Максим Иванов живет в нашей памяти.

alt

Откомментировал фильм «Нулевой взвод (Сектор Зеро)»

пока что всё более чем отлично
кажется проще применять синюю изоленту и не париться:

1) вытащить из OperatingSystemMXBean состояние CPU
2) выгрузить его через Spring Boot Metrics или Http Management
3) на клиенте расширить класс Риббон‑Эврика‑Балансера (или навелосипедить свой скорее), впихать ему правило ранжировать вначале по roundrobin/latency, потом по CPU, если доля CPU слишком велика
4) инфу по инстансам хранить в кэше...
Читать далее
... (guava LoadingCache? а может, расширить InstanceInfo Эврики?)
5) запатчить JMSTeamplate по полной аналогии с RESTTemplate из SpringCloud
6) посмотреть, надо ли что‑то запатчить в Hystrix
...
6) PROFIT!
Разбил очки. Без очков я овощ.
Первая половина дня сразу нафиг — надо ехать обследовать зрение и точить астигматические линзы.
У друзей проблемы с электричеством, и вероятно поэтому скайпа нету в онлайне. И тут дошло, что я не знаю их телефона или других контактов, вообще. Вконтакты и фейсбуки не помогут. В интернете гуглится что угодно, включая список публикаций и хомяк института, но никакой более конкретной информации.

Помню, когда‑то мы кидали интернет по крышам и ломали карточковый доступ РОЛа и СТК. И...
Читать далее
... было вполне нормально скажем бывать на связи только раз в несколько дней. А сейчас интернет стал как воздух. Нельзя не дышать больше пяти минут.
Коротко о прошедшей паре дней:

- read из кочки по id совершенно тривиален, в отличие от write. Несколько строчек. Переход от файлового хранения к Кочке можно сказать что безболезненный

- Кафка убивает радость. С одной стороны, она работает, и сетапится даже проще, чем activemq. И даже в каком‑то смысле подходит лучше ActiveMQ. И работает куда быстрее. С другой стороны, она не умеет в нормальную...
Читать далее
... отказоустойчивость при падении — то есть отказоустойчивость придется писать самому. Еще радость убивает (отсутствующая) глубина документации и примеров на Java. Надо будет чисто для будущих поколений хотя бы залить на гитхаб работающий пример.

- activemq — кусок плохо администрирующегося джаваговна.
- какую‑то несчастную опцию (какие классы можно сериализовывать) то засовывали в клиент то убирали, а последней версии клиента чтобы понять что случилось в maven central нет. Потому что они забили релизить и выкладывать в central, и нужный клиент качается из снапшотов в их собственном репозитории
- дефолтный мавенплагин почти ничего не умеет
- как уже говорил, спринговский JMSTemplate вполне используем, но не фичаст. Camel напротив фичаст, но неприятен

- Netflix OpenSource все же придется выкуривать. Спринговская магия спасает только в контексте бутового приложения, а легаси — не бутовое. Благо что там все написано на джаве.
btw, попробовал приходить на работу по утрам, производительность возрасла намного

но вот сегодня снова просрал график, потому что с утра надо было просыпаться и общаться по рабочим вопросам с чуваком из the USA, и теперь фиг знает как выпнуть себя ехать в офис..

Похоже, четкий график — это важно.
В 5 утра подъем.
В 7 на работу.
В 16 домой.
Потом кодить опенсорц....
Читать далее
...
В 21 гулять.
В 22 спать.
Не забывать жрать каждый час‑два, принимать витаминки, и жать кнопку у помидорного таймера.
Осилил в кочке appendsert во вложенные списки без нормальных форм и транзакций. Compare‑and‑swap'ом в очень длинном цикле. Ибо модицифирующий никель пока experimental. Кот выглядит как полное говно, мимо крокодил охренеет это дебажить.

+ эврика (или архей?) криво рапортует об ошибках в конфиге. Идея отрефакторила что не надо (вместе с переменной поменяла название ключа в properties‑файле). Все тут...
Читать далее
... же развалилось, на моей машине работает — у соседа не работает, и никто не понимает в чем разница, ибо по экзепшену ничего сказать нельзя.

+ из Вилдфлая приходится выколупывать JAX‑RS. Там устаревший Jackson Object Mapper, нету метода mixIn, Еще одна проблема, которую непонятно как с наскока решить кроме как тупо выкосить модуль из конфигов.

+ из общеих с Бутом зависимостей приходится выклоупывать embedded‑tomcat‑websocket зависимость в мавене, оно конфликтует с хостовым Вилдфлаем. Но тут все уже довольно просто. Только помки непонятно как структурировать в этом случае, чтобы это было _всегда_ корректно.
Couchbase Java SDK java‑client — добро. Умеет кучу вещей, в том числе выполнять Никель в одну строчку.
На всякий случай оставил поле _class — чтобы было совместимо с либами от выброшенного Spring Data Couchbase. Добавил поле type — храню там Canonical Name класса энтити — не совсем уверен, что правильно понимаю как это работает, является ли type чем‑то зарезервированным, особенно для...
Читать далее
... фреймворков.
Утилит типа Liquibase для Кочки пока не запилили, поэтому приходится при стартапе приложения писать велосипедный инициализатор, который навешивает индексы и вот это все. Встроенного генератора сиквенсов нет, поэтому из примера (который дал Рома) слямзил идею хранения сиквенса в виде простого документа. Встроенного версионирования нет, поэтому будет просто поле int version = 1.

Спринговский мессаджинг — гораздо лучше чем Camel (чем именно лучше? Чем Camel). Нету всей это крутой конфигурации на сто XML'ек и бинов, тем и хорош, просто работает.
Мавеновский плагин для ActiveMQ почему‑то стартует только один лиснер на tcp, админку не стартует (нет такой опции — включить админку), и по документации говорит «не сохраняет сообщения» (не уверен точно, что это значит, но звучит опасне). Походу придется писать свой велосипед для деплоймента.
Spring Data Couchbase пока огорчает.

Никель в чистом виде есть только в экспериментальной версии 2.0-preview, которой в мавене‑то нету. То что есть в Мавене просто не работает (не может сгенерить бин с реализацией CrudRepository), работает только древнючая 1.2.2 или около того.

Документация не соответствует действительности в важных местах, например при создании backing view для...
Читать далее
... операций типа findAll и count, в документации подчеркивается — нужно юзать emit(null, null) с reduce _count и «не сильно повредит» emit(meta.id, null). (судя по запросам, оно так делает count, для получения данных добавляя в запрос &reduce=false). Во всех этих комбинациях на клиент приходят листы состоящие только из элементов null (вот суки, by the way, теперь еще итерироваться по листам просто чтобы проверить что они пустые). Работает emit (meta.id, doc) с reduce _count.

Документации по селекту по нескольким ключам — нету. Можно логически догадаться, что это делается с помощью composite key view, но документации по этой фиче нету. Можно логически догадаться, но тогда зачем документация?

Кстати, селектнуть по id+полю нельзя. С одной стороны, ну какой мудила будет делать composite key view с id, но ведь сама couchbase вполне отдает emit([meta.id, doc.field], doc), и оно походу нормально возвращается на клиент, но SDC в этом ответе просто не фильтрует по id и отдает пустой список. Наверное это потому, что поле отмеченное @Id — это не @Field, и поэтому не участвует в фильтрации? Ну хорошо, отметил поле как @Id @Field String uuid; — ничего не произошло, видать он стопорится на первой же аннотации.

А теперь фейсбучек снова в бан (127.0.0.1 facebook.com > /etc/hosts ) и будем фигачить на Java SDK
Господа, которые параллельно с основной 8h/d работой пилят свой софтовый проект. В особенности, погромисты, которым реально надо кодить для этого.

Поделитесь, как вы распределяете свое время? Как распределяете силы в течение дня?

Считаю‑считаю сейчас, и совершенно часы не сходятся со всего 24 часами в сутках.
Читаю о необходимости сделать тестовое покрытие круда в 85%. Интересно, зачем в гуевом круде, работающем с БД, делать такое тестовое покрытие? Это правда нужно?

Мне кажется, тут есть какая‑то фундаментальная ошибка. unit‑test/database‑code impedance mismatch.

- юниты должны быть чистыми, изолированными. А база данных — это одна огромная stateful свалка. Даже если база у сделана не по...
Читать далее
... предметной области, и досталась не от соседей, а сдизайнена специально для твоего приложения, все равно она stateful. Исследование миграций между stateful и stateless — это тема для диплома, а не для повседневного быдлокодинга, на это просто нет времени.

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

- даже если взять само приложение, большая часть кода и соответствующих ошибок находится не в твоем коде, а во фреймворке. ФреймворкАХ, тыщи их. Начиная тестировать специальные ситуации, по сути начинается тестирование фреймворка. И о чудо, его уже протестировали за нас! У хибернейта, спринг‑даты и прочего дофига тестов, до конца жизни столько не написать

- если выбросить описанные выше случаи, остается какой‑то элементарный код, тестирование которого не дает никаких осмысленных результатов. Вызвали delete на entity без возвращаемого значения и он не упал? Возьми с полки пирожок, и что ты из этого узнал?

делаю вывод следующий:

- круду нужно тестировать спецификацию, а не юниты. Внешнее интеграционное тестирование отдельных фич и всей приложухи сразу, в терминах предметной области.

- тестовое покрытие 85%, если это вообще зачем‑то нужно, задрачивать должны специальные разработчики тестов, а не обычные исполнители
Резюме вечера.

Долгие попытки привернуть Tiles+JSP к Spring Boot с jar packaging привели к эпик фейлу :(

Помойму, использование JSP на исходе первой трети 21ого века это какой‑то адский анахронизм. Когда‑то, когда на Java вьюхи писали как на PHP, это имело смысл. Сейчас так даже на PHP больше не делают. Если юзать его только ради JSTL, то как шаблонизатор оставляет желать лучшего. Короче, если бы...
Читать далее
... по ТЗ не нужно было использовать JSP, я бы его решительно выкинул на мороз.

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

С одной стороны, сам tiles привернуть получилось:
https://gist.github.com/olegchir/819109f48164917e9530

Что нужно:
а) положить всё (всё=то, что раньше было в webapp) в resources, потому что boot будет обрабатывать это как ресурсы
б) чтобы полученное заработало в IDEA, нужно начинать путь до тайла с classpath, вот так: classpath:webapp/layouts/tiles.xml. Это типа багофича Идеи.

Проблема в том, что походу маппинг урлов в Tomcat не совпадает с маппингом в Boot. Томкат хочет директорию webapps, а у нас ее нету. Даже если как‑то извернуться и добавить папку webapps вне resources, ее как‑то надо скопировать в варку, а Spring Boot Maven Plugin не умеет такие штуки.

Ну вот они и сами говорят об этом: http://docs.spring.io/spring‑boot/docs/current/reference/html/boot‑features‑developing‑web‑applications.html#boot‑features‑jsp‑limitations

Подебажил немного тайлз и бут, понял что без поллитры это нераскуриваемо. Можно немного перехерачить тайзл и бут‑мавен‑плагин, но у меня столько водки не найдется

Вывод — искаробочно Tiles+JSP для бута завести нельзя. Печаль.

Завтра нужно будет попробовать сконфигурить war поставку, но не отказываясь от бута.
В ходе гуглинга походу даже нашел работающую заначку: https://github.com/cristianprofile/spring‑boot‑mvc‑complete‑example/blob/develop/spring‑boot‑mvc‑web/src/main/resources/layouts/views.xml

Port Forwarding in OSX El Capitan

https://gist.github.com/olegchir/7313c6b39c1ad0f6455d

Копия под катом

Since Mavericks stopped using the deprecated ipfw (as of Mountain Lion), we'll be using pf to allow port forwarding.

1. anchor file

Create an anchor file under /etc/pf.anchors/ with your redirection rule like:


rdr pass on lo0 inet proto tcp from any to 127.0.0.2 port 80 -> 127.0.0.1 port 40070

2. Test the anchor...

Parse and test your anchor file to make sure there are no errors:


sudo pfctl -vnf 

3. Reference the anchor in pf.conf

/etc/pf.conf is the main configuration file that pf loads at boot. We'll need to load the anchor file we previously created:


rdr‑anchor «forwarding»
load anchor «forwarding» from «/etc/pf.anchors/»

Make sure to add these entries to the appropriate spot.

4. Load and enabling pf

pf is not enabled by default in Mavericks, few ways to enable this:


  • Manually load and enable from a pf.conf file via sudo pfctl -ef


  • Auto enable by creating a launch daemon via this doc to run pfctl -ef on boot.


  • Auto enable by adding an -e(enable) to the pfctl ProgramArgument in /System/Library/LaunchDaemons/com.apple.pfctl.plist like this:



ProgramArguments

pfctl
-e
-f
/etc/pf.conf


5. Forwarding across interfaces

By default, pf does not forward between interfaces. Here's a snippet from man for pfctl with help from 2sidedfigure:


The packet filter does not itself forward packets between interfaces.  Forwarding can be enabled by setting the sysctl(8) variables net.inet.ip.forwarding and/or net.inet6.ip6.forwarding to 1.  Set them permanently in sysctl.conf(5).

We'll need to enable this by adding to /etc/sysctl.conf:


net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

Caution

There is the possibility that pf.conf will be overriden with updates to the OS. It might be best to create your own pf config file and load them in additon to the main pf.conf to prevent this.

Установка яндекс‑диска на убунту:

echo «deb http://repo.yandex.ru/yandex‑disk/deb/ stable main» | sudo tee -a /etc/apt/sources.list.d/yandex.list > /dev/null && wget http://repo.yandex.ru/yandex‑disk/YANDEX‑DISK‑KEY.GPG -O- | sudo apt‑key add — && sudo apt‑get update && sudo apt‑get install -y yandex‑disk

mkdir ~/Yandex.Disk

yandex‑disk setup

sudo add‑apt‑repository ppa:slytomcat/ppa
sudo...
Читать далее
... apt‑get update
sudo apt‑get install yd‑tools

yandex‑disk‑indicator
Любви, надежды, тихой славы
Недолго нежил нас обман,
Исчезли юные забавы,
Как сон, как утренний туман;
Но в нас горит еще желанье,
Под гнетом власти роковой
Нетерпеливою душой
Отчизны внемлем призыванье.
Мы ждем с томленьем упованья
Минуты вольности святой,
Как ждет любовник молодой
Минуты верного свиданья.
Пока свободою горим,
Пока сердца для чести живы,
Мой друг, отчизне...
Читать далее
... посвятим
Души прекрасные порывы!
Товарищ, верь: взойдет она,
Звезда пленительного счастья,
Россия вспрянет ото сна,
И на обломках самовластья
Напишут наши имена!

Мини-отчет за осень

НАСТОЯЩЕЕ:

- Прошел тестовый срок на новой работе. Теперь я полноценный middle java developer, с зарплатой джуниора. Hello, IT, again! Оказалось, "вспоминать" почти ничего не надо: какой Java была три года назад, такой и осталась, ну Spring вышел новый с парой новых свистелок и перделок, уебищными динамическими именами в репозиториях и грувями, а так-то вообще поровну.

- Работаю четко...
Читать далее
... по плану. План расписан в Асане, таймшиты ведутся в Харвесте, тактика - pomodoro. Настоящий план (составленный текущим проектными менеджером) лежит в джире, но там полный хаос, и нужно просто в начале спринта скопипастить как можно больше в асану, и забить на джиру с прибором. Куски плана отсчитываются помидорной техникой (приложуха висит в трее в Ubuntu, и говорит, когда работать и когда отдыхать). Если работать вне помидора, мозг слишком быстро перегорает, не дотягиваешь до конца рабочего дня.

- Почти каждый день хожу в спортзал и наворачиваю велотренажер. Выбросил старый ремень, т.к. он опоясал меня два раза. Вес всё еще гигантский, но сил уже хвататет на то, чтобы при помощи кофе не засыпать в течение рабочего дня по 10 часов. Чтобы подпитывать мозг, нужно понемножку пить кефир или йогурт через равные промежутки времени, н-р раз в час. Не протеин, от него остается слишком много голода. Отличная находка - корсет для коррекции осанки, помогает сидеть на неудобном стуле, особенно когда растянул спину на тренировке или всё тело болит, и он держит живот. Еще, сиеста - это замечательно. Похавал немного и потом забатонился на диване. Ну да, день увеличился на полчаса-час (или сколько там ты батонился), зато по сути из 1 дня получилось сразу 2 дня.

БУДУЩЕЕ:

- Текущая работа полезна только тем, что позволяет отточить мою спецализацию: Core Java, Spring, Hibernate, реляционные БД, веб 1.0, javascript+coffeescript, и прочая фигня. План я выполняю, деньги хозяевам зарабатываю, всё отлично, всё идет своим чередом ("коль выполнил план - посылай всех пизду, не выполнил - сам иди на хуй!" (с) Маяковский)

- Весной следующего года есть два варианта:

1) я как-то уламываю начальство поставить меня проектным менеджером по любому проекту, в специализации которого я разбираюсь. Пройдет уже 1 год, думаю этого достаточно чтобы показать свою (не)адекватность всем кому нужно =) Надо будет слетать в Казань, чтобы встретиться лично.

2) либо я валю в Питер и
2.1) там ищу позицию проектного или продуктового менеджера, на любую ненулевую зарплату (достаточную для выживания) с перспективой хотя бы 2 года
2.2) если не получится - программиста по специализации (Java/Spring/Hibernate/Web1), с нормальной зарплатой (никак не менее 80 то есть) с перспективой хотя бы 1 год

Основной поинт в том, чтобы просто закрепиться в Питере.

Что я делаю сейчас:

- Так как высока вероятность пункта 2.2, затачиваю веб-технологии. Например, имхо стоит зарубиться в Typescript+Angular2 (да, всё еще альфа, всё меняется, жизнь - боль).

- На всякий случай (обычно на велотренажере по 2 часа в день) штудирую труды типа pmbook, сколько стоит программный проект итп. Because we can. Ну надо же знать, какие эксельки заполнять "по классике", и на интервью связно в общепринятой терминологии отвечать на вопросы типа "как использовать критический путь" лол :) И нужно будет пристать к преподам МБШ на эту тему. На openedu и курсере нужно будет пройти спецкурсы по теории органиации и производственному менеджменту. Ну и в конце концов, что я еще могу сделать сейчас, с учетом что в сутках всего 24 часа.

Непонятно что делать с матерью, которая еле-еле может ходить из-за необратимо поврежденной ноги. Вряд ли ей будет хорошо житься, если я свалю в Питер. Скорей всего нужно просто нанять домработницу, которая будет приходить пару раз в неделю, покупать жрачку и наводить порядок в квартире. (Это минус тыщ 30 в месяц, которые нужно смерджить с зарплатой, т.е. допустим если я зарабатываю сотку, то на жизнь останется 70, что для Питера вполне ок чтобы не сдохнуть.) Гораздо разумнее было бы ей переехать в какой-нибудь пансионат соответствующей направленности, но она не согласится.

Как-то так всё
Не работает 3d в vmware

Варианты:

1.

vim ~/.vmware/preferences
mks.gl.allowBlacklistedDrivers = TRUE

2.

sudo apt‑get install driconf
driconf
enable S3TC texture compression even if software support is not available = TRUE

3.

(для Windows 2000 и других замороженных драйверов)

virtualHW.version = «8»
(попробовать 7 и 9)

===

Срань какая, не зря они заблеклистили мой драйвер — 3д работает, но течет как вода,...
Читать далее
... если запустить что‑нибудь тяжелее скайпа система будет до рестарта тормозить как слайдшоу
Учу английский, играя в игрушки Spiderweb. БОльшую часть времени приходится проводить не в чтении текстов, а в словаре. За один раз в словарь (добавляю на lingualeo) добавляется не менее 50 новых слов!

Порядок прохождения игрушек:
http://spiderwebforums.ipbhost.com/index.php?/topic/18915-whats‑the‑correct‑playthrough‑order‑for‑avernum‑games/

The No-BS Guide to the Developer Interview

Копипаста: Spring + JSONP

Пару часов гуглил, как сделать Spring+JSON§ красиво, но получилось как всегда.



Суть вопроса.

Я попробовал возвращать JSONPObject, String, MappingJacksonJsonView — везде есть проблемы из‑за конфигурации с уже существующим legacy.

Last but not least, всё вышеперечисленное заворачивает ответ в кавычки. И даже когда включено @JsonRawValue.

(Говорят ...
Читать далее
...есть вот такое, но я не смог попробовать по той же причине.)

Поэтому просто зафигачим VOID и запишем что надо в response руками! Делать говно так с душой!




Параметры копипасты:
RequestDao, ResponseDao — произвольные объекты для сериализации в JSON с помощью Jackson.
Оба имеют стринговое поле example с геттерами и сеттерами, которое мы будем посылать на сервер и получать назад.

Внутри используется еще и Gson для того, чтобы избежать clash с системными реализациями Jackson.

@RequestMapping(
value = «myurl»,
method = {RequestMethod.GET}
)
@ResponseBody
@JsonRawValue
public void jsonp(@ModelAttribute RequestDao dao,
@RequestParam("callback") String callBack,
@Context HttpServletRequest request,
@Context HttpServletResponse response)
throws Exception {

ResponseDao respDao = new ResponseDao();
respDao.setExample(requestDao.getExample());
String jsonResponse = new Gson().toJson(respDao);

response.setContentType("text/javascript; charset=UTF‑8");
PrintWriter out = response.getWriter();
out.print(callBack + «(» + jsonResponse + ")");
}





И соответственно вызывающий код на Javascript+jQuery:





JSONP test











SoapUI, скачанный с сайта падает к чертям на линуксе (Ubuntu 15.04 с дефолтными настройками и установленным кастомным JDK).

Потому что SoapUI нужно правильно готовить! (и совсем не потому, что разработчики должны тестировать свое поделие перед релизом, конечно. У нас же опенсорц, никто никому ничего не должен, поэтому жрите что дают)

1) они положили туда какую‑то кривую сборку Java,...
Читать далее
... котора падает с сигсервом. Если подменить их папочку jre скачанной из интернетов JDK (прямо в каталоге, куда установлен SoapUI), он начинает запускаться.

Но это еще не всё, потому что он продолжает падать уже с логическими ошибками.

2) поэтому чтение soapui.sh подсказывает, что лучше просто удалить всю папку «jre» в каталоге, куда установлен SoapUI.

При этом в системе должна быть (нужно установить) свежая Java 8, прописана переменная окружания JAVA_HOME, указывающая на место установки джавы (у меня это /my/opt/java8), и сама java должна выполняться из командной строки ($JAVA_HOME/bin должна быть в $PATH)

Вообще этого должно хватить, но если не хватило, то по опыту общения с предыдущими версиями SoapUI, нужно еще сделать вот что:

3) Обязательно запускаем не тот ярлык, который создал инсталлятор в главном меню Убунты, а soapui.sh (в директории, куда установлен SoapUI). Не помню уже точно, но с ярлыком были какие‑то проблемы. Я сам написал вот такой скриптик, и положил в ~/bin/soapui, запускаю его:

#!/bin/bash
cd /home/olegchir/opt/java/SoapUI‑5.2.0/bin
./soapui.sh &

4) В самом верху soapui.sh нужно добавить
JAVA_TOOL_OPTIONS=«»
export JAVA_TOOL_OPTIONS

Скорей всего этот хак нужен для тех, кто на федорке впилил джаву через alternatives и других несчастных этого же вида

5) Нужно отредактировать soapui.sh, найти в нем слово browser, прочитать комментарий «раскомменти меня», и раскомментить. На всякий случай добавить старое название этой прперти. В результате получится так:

JAVA_OPTS=«$JAVA_OPTS -Dsoapui.browser.disabled=true»
JAVA_OPTS=«$JAVA_OPTS -Dsoapui.jxbrowser.disable=true»
ВКонтактeTwitterFacebook