sort -nk4 file
-n for numerical sort
-k for providing key
или добавить -r option
для обратной сортировки
sort -nrk4 file
Не слышал ничего, что работает на всех этих платформах, но JSmooth может помочь (соответствует вашим потребностям в Windows). Я использовал его около 2 лет назад, и он работал нормально.
Вы можете использовать launch4j , однако он не устанавливает автоматически java. Но, возможно, есть способ заставить это работать, например, упаковав JRE.
Коммерческие инструменты, такие как InstallAnywhere, могут это сделать. После установки JAR (и ссылок и т.п.) установщики могут проверить реестр, если Java уже установлена, и продолжить или нет. Пока программа установки поддерживает все необходимые платформы, все в порядке.
Если коммерческий инструмент подходит, я могу порекомендовать install4j . 1, 2 и 4 легко сделать с ним, но насчет 3 я не уверен. Изменить : Вы, вероятно, могли бы добиться этого, установив свое приложение как «службу», которую install4j поддерживает для всех платформ. Цитата из страницы Features :
install4j предлагает полную поддержку для создание и установка услуг (демоны). Для сервисов install4j генерирует исполняемые файлы службы на Windows, элементы автозагрузки в Mac OS X и запуск / остановка скриптов в Unix / Linux платформ.
Правка : Что касается № 2, обнаружение JRE: install4 имеет довольно приятные, гибкие параметры для связывания / обнаружения JRE. Вы можете включить JRE (статически или динамически, совместно или нет) или предпочесть использовать тот, который уже присутствует, с возможностью загрузки JRE из вашего установщика в качестве запасного варианта. Дополнительные сведения см. В этих документах: Как установщики находят пакеты JRE и JRE .
( Подробнее о моем опыте работы с install4j .)
Для других инструменты, вы можете проверить некоторые из ранее заданных установщика Java вопросов по SO:
You may also want to take a look at BitRock InstallBuilder, it provides built-in functionality to perform what you want. We will be happy to build a sample installer for you, just drop us a line.
Я рекомендую загрузить исходный код для сценариев сборки популярных программ Java, таких как limewire, и следовать их примеру. Конец.
... Или вы можете сделать как я:
Все это было изрядным объемом работы. Сначала я сделал материал для Windows, а через пару лет сделал для Mac.
Вы можете интегрировать все это в сценарии сборки NSIS и Ant. Не могу вспомнить, почему не использовал install4j. Наверное, я был слишком дешевым :)