запуск java-программ

Вопросы, касающиеся администрирования и работы в Unix-подобных системах (Linux, FreeBSD, OpenBSD и т.д.).

Модератор: Sebas

Winitar
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 06.07.2006 (Чт) 20:45
Откуда: Астана

запуск java-программ

Сообщение Winitar » 14.08.2010 (Сб) 15:50

Что то не могу никак разобраться. Что бы запустить java программу, необходимо написать команду - java program.

На сколько я понял, что автоматировать это, создают bat-файлы. Что то вроде:

c:\java\bin\java.exe proogram
pause

Это на винде. А как это делается на линуксе? Как в линуксе создать исполняемый файл, который бы выполнял необходимые команды в консоли?
Последний раз редактировалось Winitar 14.08.2010 (Сб) 15:54, всего редактировалось 1 раз.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: запуск java-программ

Сообщение iGrok » 14.08.2010 (Сб) 15:52

Да в общем-то также..
Создать файл runprogram.sh примерно с таким содержимым:
Код: Выделить всё
#!/bin/sh
java program.jar

Потом этому файлу надо разрешить выполнение - сhmod +x runprogram.sh
Последний раз редактировалось iGrok 14.08.2010 (Сб) 15:55, всего редактировалось 1 раз.
label:
cli
jmp label

Winitar
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 06.07.2006 (Чт) 20:45
Откуда: Астана

Re: запуск java-программ

Сообщение Winitar » 14.08.2010 (Сб) 15:54

iGrok писал(а):Да в общем-то также..

Сейчас попробуем...

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: запуск java-программ

Сообщение iGrok » 14.08.2010 (Сб) 15:55

Я там чуть поправил первую строку. Забыл про "!".

Вообще, под линуксом можно писать "исполняемые" файлы для любого интерпретатора скриптов. Пайтон, перл, sh.. Да хоть пхп.

Общий принцип - первая строка файла - путь к нужному интерпретатору, начинающийся с #!
А далее - сам скрипт на нужном языке. Для шелл-команд интерпретатором обычно выступает sh или bash, или ещё какой-то шелл, который у тебя установлен.
label:
cli
jmp label

Winitar
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 06.07.2006 (Чт) 20:45
Откуда: Астана

Re: запуск java-программ

Сообщение Winitar » 14.08.2010 (Сб) 16:04

Получилось, спасибо. А как сделать, что бы терминал не вылетал сразу после выполнения программы?
Последний раз редактировалось Winitar 14.08.2010 (Сб) 16:11, всего редактировалось 2 раз(а).

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: запуск java-программ

Сообщение iGrok » 14.08.2010 (Сб) 16:08

Можно как-то так:
http://jaduks.livejournal.com/5492.html
http://www.cyberciti.biz/tips/linux-uni ... mmand.html

Но возможно есть и другие способы.
Последний раз редактировалось iGrok 14.08.2010 (Сб) 16:11, всего редактировалось 1 раз.
label:
cli
jmp label

Winitar
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 06.07.2006 (Чт) 20:45
Откуда: Астана

Re: запуск java-программ

Сообщение Winitar » 14.08.2010 (Сб) 16:11

И еще, скрип все запускает правильно, если в консоли сначала указать "cd <путь к программе>", и только потом запустить скрипт. Нельзя ли сделать так, что бы путь определялся каждый раз сам (то есть та папка, где лежит скрипт).

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: запуск java-программ

Сообщение iGrok » 14.08.2010 (Сб) 16:18

Насколько я помню, всё зависит от того, откуда ты его запускаешь, так что лучше везде указывать полные пути. В том числе и к самой яве.
label:
cli
jmp label

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: запуск java-программ

Сообщение VVitafresh » 17.08.2010 (Вт) 8:34

Winitar писал(а):И еще, скрип все запускает правильно, если в консоли сначала указать "cd <путь к программе>", и только потом запустить скрипт. Нельзя ли сделать так, что бы путь определялся каждый раз сам (то есть та папка, где лежит скрипт).

Если запускать скрипт вручную так:
Код: Выделить всё
./runprogram.sh
то текущим каталогом будет тот, из которого запускается скрипт.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Re: запуск java-программ

Сообщение Александр Дмитриев » 18.08.2010 (Ср) 3:33

VVitafresh писал(а):Если запускать скрипт вручную так:
Код: Выделить всё
./runprogram.sh
то текущим каталогом будет тот, из которого запускается скрипт.
Верное утверждение, но я подумал, что оно может ввести в заблуждение автора темы. Текущий каталог в начале работы скрипта (или во всё время его работы, если внутри скрипта его не меняют) никак абсолютно не зависит от того, как скрипт запущен. Вместо этого он всегда равен текущему каталогу запустившей его программы на момент запуска.

Winitar писал(а):И еще, скрип все запускает правильно, если в консоли сначала указать "cd <путь к программе>", и только потом запустить скрипт. Нельзя ли сделать так, что бы путь определялся каждый раз сам (то есть та папка, где лежит скрипт).
Писать в скрипте полный путь к запускаемой программе. Но не к самой яве (нехорошая практика, после переустановки явы в другое место такие скрипты перестают работать; собственно, для этого и была придумана переменная PATH). Если хочется сделать скрипт более универсальным (чтобы он работал при перемещении запускаемой программы вместе со скриптом в другое место) можно программно внутри скрипта выяснить то, где он находится, и подставить нужный путь запускаемой программе:
Код: Выделить всё
#!/bin/sh
PROGRAMDIR=`which "$0"`
PROGRAMDIR=`dirname $PROGRAMDIR`
java -jar "$PROGRAMDIR/program.jar"
Википедия — это наилучший источник информации по теме «Википедия».

Winitar
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 06.07.2006 (Чт) 20:45
Откуда: Астана

Re: запуск java-программ

Сообщение Winitar » 18.08.2010 (Ср) 12:30

Спасибо, попробуем..


Вернуться в Unix

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList