Форум 3DNews
Вернуться   Форум 3DNews > Софт > Операционные системы Microsoft Windows

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 26.11.2016, 17:51   [включить плавающее окно]   #1
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
файл BAT запускает окно которое тут же закрывается

нужно запустить сервер Derby на компе, для которого существует папка с файлами где есть и запускающий bat
но при его запуске выскакивает черное окошко cmd (которое должно остаться) но которое тут же закрывается.
если дописать в сам файл команду CMD \K то окошко останется но видимо запуска сервера все равно не получается.

читал гуглил, что-то пишут про троян runauto но у меня нет проблем с запуском cmd.exe

прилагаю файлик
Вложения
Тип файла: zip startNetworkServer.zip (847 байт, 89 просмотров)
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 18:18   [включить плавающее окно]   #2
zl0dey4eg
Мужской Недосягаемый
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
а в конце батника добавить pause и посмотреть на ошибки, не?
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 18:51   [включить плавающее окно]   #3
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
Цитата (zl0dey4eg) »
а в конце батника добавить pause и посмотреть на ошибки, не?
ну что именно? какие ошибки?
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 18:56   [включить плавающее окно]   #4
zl0dey4eg
Мужской Недосягаемый
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Цитата (ytrewq) »
ну что именно? какие ошибки?
как какие?

почему сервисы не стартуют

правим батник так
Код:
@echo on

CALL "%~dp0derby_common.bat" %*

if "%_JAVACMD%"=="" goto end

if "%_USE_CLASSPATH%"=="no" goto runNoClasspath
if not "%CLASSPATH%"=="" goto runWithClasspath

:runNoClasspath
"%_JAVACMD%" %DERBY_OPTS% -classpath "%LOCALCLASSPATH%" org.apache.derby.drda.NetworkServerControl start %DERBY_CMD_LINE_ARGS%
goto end

:runWithClasspath
"%_JAVACMD%" %DERBY_OPTS% -classpath "%CLASSPATH%;%LOCALCLASSPATH%" org.apache.derby.drda.NetworkServerControl start %DERBY_CMD_LINE_ARGS%
goto end

:end
set _JAVACMD=
set DERBY_CMD_LINE_ARGS=
pause
и читаем стандартный вывод

кстати, файл ~dp0derby_common.bat присутствует в каталоге?

PS: отладка - очень веселый процесс
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 20:50   [включить плавающее окно]   #5
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
сделал запустил - видимо происходит запуск CALL этого derby_common
в папке он имеется, прилагаю
а далее в окне только лишь "нажми любую клавишу" и все.
Вложения
Тип файла: zip derby_common.zip (1.2 Кб, 60 просмотров)
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 21:27   [включить плавающее окно]   #6
zl0dey4eg
Мужской Недосягаемый
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
А Java то на компе стоит?
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 21:37   [включить плавающее окно]   #7
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
Цитата (zl0dey4eg) »
А Java то на компе стоит?
да конечно по полной программе. jdk1.8.0_51
собственно с написанием фронт приложений на java нет проблем, но вот как только пробую подсоединить сервер для базы данных, то все упираюсь в эти баты. полгода назад была такая трабла так и не справился. сейчас снова.
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 21:40   [включить плавающее окно]   #8
zl0dey4eg
Мужской Недосягаемый
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Если есть время ... можно команды из батников ручками в консоль вставлять в порядке очереди и смотреть, что получается.

Чего то точно в вашей системе не хватает

А заменить эту шляпу ничем нельзя?!?!
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 21:51   [включить плавающее окно]   #9
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
ну время можно найти. только надо понять что толком делать. можете мне на пальцам как ламеру объяснить что вставлять и куда)) мне из этих bat не совсем ясно кто где какая команда и в каком виде запускать ее
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 22:13   [включить плавающее окно]   #10
zl0dey4eg
Мужской Недосягаемый
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Открываем cmd от имени администратора
Переходим в каталог, где лежат (откуда запускаются) баткики
Код:
cd c:\ полный путь
Открываем в блокноте два батника, копируем команды построчно и ... понеслась
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 22:49   [включить плавающее окно]   #11
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
Цитата (zl0dey4eg) »
Открываем cmd от имени администратора
Переходим в каталог, где лежат (откуда запускаются) баткики
Код:
cd c:\ полный путь
Открываем в блокноте два батника, копируем команды построчно и ... понеслась
я всегда открывал cmd просто как есть. а его еще можно открыть от имени администратора?
а что есть синтаксис команды в батнике?
напр if "%_JAVACMD%"=="" goto end
if "%_USE_CLASSPATH%"=="no" goto runNoClasspath
if not "%CLASSPATH%"=="" goto runWithClasspath

что копировать?
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 23:05   [включить плавающее окно]   #12
zl0dey4eg
Мужской Недосягаемый
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Цитата (ytrewq) »
я всегда открывал cmd просто как есть. а его еще можно открыть от имени администратора?
В некоторых случаях даже нужно!
Может у вас сервис именно поэтому не запускается?

Добавлено через 2 минуты

Цитата (ytrewq) »
а что есть синтаксис команды в батнике?
напр if "%_JAVACMD%"=="" goto end
if "%_USE_CLASSPATH%"=="no" goto runNoClasspath
if not "%CLASSPATH%"=="" goto runWithClasspath

что копировать?
С этим сложно!
Тут идёт проверка условий (if), если они не совпадают с заданным, осуществляется переход (goto) на метку

Это надо раскуривать логику батника
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 26.11.2016, 23:51   [включить плавающее окно]   #13
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
ну вот как-то так закончилось и в прошлый раз(
непонятно где засада и никто не может в этом помочь.
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 27.11.2016, 13:17   [включить плавающее окно]   #14
VitohA
Мужской Интересующийся
 
Регистрация: 13.09.2016
Адрес: Voronezh
Оба bat файла в результате должны запустить один вариант команды:
"%_JAVACMD%" %DERBY_OPTS% -classpath "%LOCALCLASSPATH%" org.apache.derby.drda.NetworkServerControl start %DERBY_CMD_LINE_ARGS%
или
"%_JAVACMD%" %DERBY_OPTS% -classpath "%CLASSPATH%;%LOCALCLASSPATH%" org.apache.derby.drda.NetworkServerControl start %DERBY_CMD_LINE_ARGS%

Вся оставшаяся логика как раз определяет озвученные выше переменные. Что-то мне подсказывает, что не все находятся. И добавлять в конце CMD /K бессмысленно - это новый вызов командной строки, там вывод явно пустой будет. Уже правильно предложили запускать всё из cmd и использовать pause для дебага.
VitohA вне форума  
Ответить с цитированием
Непрочитано 27.11.2016, 14:24   [включить плавающее окно]   #15
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
Цитата (VitohA) »
Уже правильно предложили запускать всё из cmd и использовать pause для дебага.
ну я могу все позапускать, писал выше что не понимаю конкретно какие команды и в каком синтаксисе. вы могли бы помочь?
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 27.11.2016, 15:05   [включить плавающее окно]   #16
VitohA
Мужской Интересующийся
 
Регистрация: 13.09.2016
Адрес: Voronezh
Так это всё в этих 2-х батниках описано:

"%_JAVACMD%" - java.exe;
%DERBY_OPTS% - не задано;
"%LOCALCLASSPATH%" - %DERBY_HOME%/lib/derby.jar;%DERBY_HOME%/lib/derbynet.jar;%DERBY_HOME%/lib/derbyclient.jar;%DERBY_HOME%/lib/derbytools.jar;%DERBY_HOME%/lib/derbyoptionaltools.jar, ссылки на соответствующие jar-файлы, которые лежат в %Derby_home%, в корне которого как раз озвученные батники лежат;
%CLASSPATH% - не задано;
%DERBY_CMD_LINE_ARGS% - параметры, которые передаются startNetworkServer.bat'у;

Запускайте напрямую в cmd готовую команду. Не заданные параметры скорее всего в мане для бд/проекта описаны.
VitohA вне форума  
Ответить с цитированием
Непрочитано 27.11.2016, 15:24   [включить плавающее окно]   #17
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
мне так и не удается указать свой уровень понимания происходящего (
напр, %DERBY_OPTS% - это и есть команда? ясно что в таком синтаксисе она не запускается никак.
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 27.11.2016, 16:08   [включить плавающее окно]   #18
VitohA
Мужской Интересующийся
 
Регистрация: 13.09.2016
Адрес: Voronezh
На самом деле там всё просто, просто я явно не идеально объясняю
Это переменные, которые должны быть определены к моменту запуска. Если переменная не будет определена, то она и не появится в команде. Пример для запуска даблкликом startNetworkServer.bat:
в ходе выполнения он находит многие из них (в скрипте при таком запуске система не найдёт значения для %DERBY_OPTS% и %DERBY_CMD_LINE_ARGS%), результат должен быть примерно таким:

"C:\Program Files\Java\jre1.8.0_25\bin\java.exe" -classpath "c:/DERBY/lib/derby.jar;c:/DERBY/lib/derbynet.jar;c:/DERBY/lib/derbyclient.jar;c:/DERBY/lib/derbytools.jar;c:/DERBY/lib/derbyoptionaltools.jar" org.apache.derby.drda.NetworkServerControl start

Предположил, что derby находится в папке c:\DERBY, ну и путь использовал к jre, а не jdk, это должно быть не принципиально.

Но стоит проверить переменные среды для пользователя и системы, может локально у вас что-то уже из перечисленного определено. Ну и по опыту - проверяйте наличие переменной %JAVA_HOME% - не всегда после установки jre/jdk она появляется, а от неё зависит поиск java.exe.
VitohA вне форума  
Ответить с цитированием
Непрочитано 27.11.2016, 17:18   [включить плавающее окно]   #19
ytrewq
Мужской Опытный
Автор темы
 
Регистрация: 11.10.2004
Адрес: Израиль
может этот линк может чтото еще объяснить?

насчет переменных среды- как раз вчера этим занимался. а сейчас вот добавил еще DERBY_HOME с адресом C:\Derby\db-derby-10.12.1.1-bin
странно что ее там не было?
после этого напр запустилась команда java -jar %DERBY_HOME%\lib\derbyrun.jar dblook (взял из мануала выше) и что-то там выдала результатом.

вчера добавил JAVA_HOME, и добавил в адрес PATH - C:\Program Files\Java\jdk1.8.0_51\bin в конце

что-то еще?

startNetworkServer.bat пока так же глух
ytrewq вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 27.11.2016, 19:03   [включить плавающее окно]   #20
VitohA
Мужской Интересующийся
 
Регистрация: 13.09.2016
Адрес: Voronezh
Легко запустил этот derby с первой попытки, в мане всё описано. Причём он довольно внятно пишет про допущенные ошибки и неправильно установленные переменные.
Можно без установки переменных, ленивый способ:
java -jar derbyrun.jar server start - запускать из DERBY_HOME\lib.
VitohA вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:27. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey