2015-12-16 2 views
0

Я пытаюсь переместить файл с сервера приложений Java на сервер БД. Для этого я использую скрипт оболочки. Чтобы запустить скрипт оболочки, я использую Process в файле Java. При попытке использовать java (файл класса) на сервере приложений с использованием шпатлевки, он переходит на сервер БД. Но при попытке от приложения его не работает и process.waitFor() возвращает 1 .. Нужна помощь. ???Запуск сценария оболочки через процесс в Java

Код:

Process p = Runtime.getRuntime().exec("sh "+asyncFilePath+"/ManualAdjFileTransfer.sh "+asyncFilePath+ " "+destPath+" "+ destUserId + " " + destIp + " " + asyncFilePath + " ManAdj_File_Transfer.Log"); 
p.waitFor() 
+0

Что вы имеете в виду автономные и приложения? Какая разница между двумя? Как запустить приложение, которое вызывает этот класс? Я понимаю, что у вас есть две коробки, и вам нужно переместить файл из одного в другой, логика написана в сценарии оболочки, и это вызвано Java-классом? Я думаю, с нашей точки зрения, не имеет значения, является ли сервер БД и другим сервером приложений или нет? –

+0

Автономный означает, что я просто запускаю только файл java из командной строки. но приложение было развернуто на сервере jboss. вот что я имел в виду. http://stackoverflow.com/users/3850730/sabir-khan –

+0

так объявляет, что приложение вызывает этот автономный Java-класс? Я имею в виду, что этот класс вызывает вызов каким-то другим способом, чем тот, который вы делаете с помощью командной строки? –

ответ

0

Это может быть проблема разрешения:

Process p = Runtime.getRuntime().exec("chmod u+x "+yourscript.sh); 

Связанные Вопрос: Write an executable .sh file with Java for OSX

+0

Почти справа. Но это не разрешение скрипта оболочки. Это проблема рукопожатия b/w-сервера приложений и сервера db ... В любом случае Tq .. http://stackoverflow.com/users/2493678/arianna –

Смежные вопросы