Я пытаюсь переместить программу, которую у меня есть, от ее размещения с Windows-машины до debian. Я установил JRE и JDK на машине.
Файл.bat, который я обычно использую, - это -
@echo off
"C:\Program Files (x86)\Java\jdk1.7.0_51\bin\java.exe" -Xms512m -Xmx1024m -cp bin;lib/* org.zarketh.Server false
pause
Это команда, которую я пытаюсь использовать на терминале -
java -cp bin;lib/* org.zarketh.Server false 43594
Я получаю следующую ошибку
lib/gson-2.2.2.jar: line 1: $'PK\003\004': command not found
lib/gson-2.2.2.jar: line 2: $'\227\220\342@': command not found
lib/gson-2.2.2.jar: line 3: syntax error near unexpected token '$'\332\001\001X5
Разделитель для пути к классам на * nix является :
not ;
, так:
java -cp bin:lib/* org.zarketh.Server false 43594
Стоит отметить, что это также относится к PATH
среды PATH
, которая использует :
on * nix и ;
в Windows.
Причина, по которой вы видите ошибку, которую видите, такова ;
в большинстве (всех?) оболочек (* nix командные строки) - это конец разделителя команд. Поэтому он обрабатывал то, что вы набрали как две отдельные команды:
java -cp bin lib/* org.zarketh.Server false 43594
Я думаю, что gson-2.2.2.jar
имеет исполняемый бит, поэтому оболочка пыталась запустить его (напрямую, а не с Java)... :-)