Наиболее вероятная проблема заключается в том, что команда java
не указана в пути поиска команд для учетной записи user
.
Войдите на клиентский компьютер как user
,и введите java -version
.Если он говорит "command not found"
, это неоспоримое доказательство того, что java
не находится на пути поиска команд пользователя.
Войдите в систему на клиентском компьютере, используя учетную запись, которую, как вы знаете, может запустить java
.Теперь запустите java -version
, чтобы подтвердить это.Предполагая, что это работает, запустите which java
, чтобы найти путь для команды java
.(Если это не сработало, то вы, вероятно, не правы об установке Java. Или, по крайней мере, об установлении правильно .)
Вкл.клиентский компьютер, определите, какой абсолютный путь для каталога «myapp».Убедитесь, что каталог «myapp» и его содержимое доступны для чтения «пользователю».
На сервере попробуйте запустить приложение следующим образом:
ssh user@192.168.1.2 /path/to/java \
-Djava.library.path=/path/to/myapp \
-classpath /path/to/myapp/myapp.jar myClass
Примечания:
- Если
java
не указан в пути поиска команды пользователя, используйте абсолютный путь для команды java
.На самом деле, в любом случае рекомендуется использовать абсолютный путь, если вы обеспокоены тем, что пользователь может «псевдоним» команды java
к чему-либо другому. - Использовать абсолютные пути для установки
myapp
..... чтобы избежать проблем с перемещением пользователя, его заменой и т. д. - Синтаксис для опции classpath отличается от того, что вы показали нам
- У вас не должно быть
.
наclasspath, если ваше приложение Java не ожидает, что будет загружать дополнительный код Java из домашнего каталога пользователя.
Очевидно, что Java являетсяустановлен ...
Почему это очевидно?
Откуда ты это знаешь?Можете ли вы гарантировать это для всех клиентских машин?Можете ли вы гарантировать, что «пользователь» не будет связываться с вещами?
Вы уверены, что Java установлена правильно ?Например, что вы установили его в месте, где он находится по пути поиска команды по умолчанию для пользователя?
В такой ситуации вам необходимо проверить / перепроверить все ваши предположения,Внимательно.Методично.Проблема обычно в чем-то «очевидном», которую вы упустили из виду.
(Человек ошибается ... и контрпродуктивно полагать, что это не так.)