Показаны сообщения с ярлыком Eclipse. Показать все сообщения
Показаны сообщения с ярлыком Eclipse. Показать все сообщения

23 октября 2012 г.

Запуск jar-файла из командной строки

Сейчас я покажу, как можно запустить простенькую программу на java безо всякой среды вроде сервера приложений. Достаточно одного класса, в котором будет определён метод main.

package com.blogspot;
public class DeveloperRemarks {
public static void main(String[] args) {
if (args.length == 0) {
System.out
.println("Передайте в качестве параметра командной строки текст, который хотите увидеть.");
} else {
System.out.println("Вы ввели: " + args[0]);
}
System.out.println("Исходники доступны на developer-remarks.blogspot.com");
}
}
В командной строке при запуске программы необходимо передать текст, который будет отображён на экране. В противном случае будет выведено соответствующее сообщение. Все параметры, переданные программе, будут содержаться в массиве строк args, который принимает метод main. Если не передано ни одного параметра, длина массива будет равна нулю.

Теперь настроим в Eclipse возможность запуска jar-файла из терминала. Для этого сначала необходимо создать конфигурацию запуска. Выберите в верхнем меню Run - Run Configurations. Откроется следующее окно:


В списке слева выберите тип приложения: Java Application. Там создайте новую конфигурацию как показано на скриншоте. Для этого выберите целевой проект и класс, в котором есть метод main.

Теперь мы готовы к тому, чтобы экспортировать наш проект в запускаемый jar-файл. Для этого кликните на проекте правой кнопкой мыши, выберите "Export...", откроется следующее окно:


В древовидном списке выберите Runnable Jar file. Поиск можно значительно упростить, если отфильтровать тип проекта по названию. Нажмите Finish. После этого откроется окно для настроек экспорта:


В нём выберите созданную ранее конфигурацию запуска. Затем укажите полное имя jar-файла. В разделе "Library handling" выберите "Extract required libraries into generated JAR" (распаковать необходимые библиотеки внутрь создаваемого архива). Нажмите Finish и исполняемый архив будет создан.

Поскольку в данном примере нет зависимостей от других библиотек, то мы выбираем первый пункт. Но если бы у нас было несколько десятков, а то и сотен зависимостей, правильнее было бы выбрать третий пункт "Copy required libraries into a sub-folder next to the generated JAR" (копировать необходимые библиотека в поддиректорию, часть имени которой совпадает с создаваемым архивом) во избежание "раздувания" исполняемого файла. Если бы мы выбрали третий пункт, необходимые библиотеки были бы скопированы в отдельную папку.

Теперь откройте терминал и перейдите в ту директорию, где был создан исполняемый jar-файл. Введите следующую команду:
java -jar developer-remarks.jar привет,\ мир\!
Таким образом вы указываете интерпретатору java запустить наш архив. Обратите внимание, что пробел и восклицательный знак в командной строке необходимо экранировать обратным слэшем.

Продемонстрированный подход может быть полезен в образовательных и тестовых целях. Например, для создания клиента, который вызовет EJB и выведет результат его работы в консоль. Достоинством данного подхода является запуск jar-архива без какого бы то ни было окружения. Достаточно иметь JDK/JRE. Исходники доступны здесь.

16 февраля 2011 г.

TODO комментарии

Во время написания кода очень часто возникает ситуация, когда вы заметили какой-либо недочёт в коде, который не настолько критичен, чтобы править его прямо сейчас, но очень желательно исправить его в будущем. Чтобы потом о них не забыть, в таких местах можно оставлять комментарии, предваряя их токеном TODO с двоеточием:

// TODO: здесь требуется оптимизировать код

Тогда все комментарии, в начале которых стоит TODO, будут выводиться в одном окне Task List. Для отображения таких комментариев в выпадающем списке в этом окне выберите "Comments".

Комментарии из всех файлов проекта будут собираться в одном месте. Двойной клик на любой из строк в этом списке тут же переносит вас в соответствующее место в коде. Эдакий план разработки, если нет других более приоритетных задач.

Кроме TODO можно использовать и другие токены. Выберите в Visual Studio меню Tools - Options - Environment - Task List. Там вы увидите список всех доступных по умолчанию токенов, а также сможете добавить свои. Для каждого токена можно задать один из трёх приоритетов (имеет смысл при большом количестве комментариев): низкий (в списке будет отображаться как синяя стрелка вниз), средний (никакой пиктограммы не отображается) и высокий (красный восклицательный знак).

Хочу заметить, что подобный функционал поддерживает любая современная среда разработки, будь то Eclipse или IntelliJ Idea. Причём бывает даже не обязательно писать todo заглавными буквами и не требуется ставить двоеточие.

// todo исправить в ближайшее время

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