Какую командную строку Powershell использовать для запуска приложения JDBC? - PullRequest
0 голосов
/ 28 июня 2018

На моей машине с Linux эта командная строка работает просто отлично:

java -cp mssql-jdbc-6.4.0.jre9.jar:. SqlInterface

Теперь, когда я пытаюсь перенести эту функцию на мой компьютер с Windows, я не могу заставить его работать.

Файл jdbc-driver.jar находится в том же каталоге, что и файл SqlInterface.java.

java -cp mssql-jdbc-6.4.0.jre9.jar;. sqlInterface.java

set CLASSPATH=mssql-jdbc-6.4.0.jre9.jar;C:\Users\Paul\java\Praktikum9
java $CLASSPATH SqlInterface

Ни один из этих вариантов не будет работать, ни если я установлю параметры среды через расширенные свойства системы.

Буду признателен за любую помощь!

1 Ответ

0 голосов
/ 28 июня 2018

Примечание. Этот ответ был написан для версии 1 вопроса.

Я поражен тем, что первая команда (в Linux) работает, потому что вы не можете запустить файл .java. Исходный файл Java сначала необходимо скомпилировать с использованием javac, а затем запустить файл .class, но без расширения .class.

javac -cp mssql-jdbc-6.4.0.jre9.jar:. SqlInterface.java
java -cp mssql-jdbc-6.4.0.jre9.jar:. SqlInterface

Во второй команде (в Windows) вы написали sqlInterface с начальным нижним регистром s, но в первой команде (в Linux) вы написали SqlInterface с начальным верхним регистром S, и поскольку Java чувствительна к регистру, может быть, поэтому команда Windows не работает.

javac -cp mssql-jdbc-6.4.0.jre9.jar;. SqlInterface.java
java -cp mssql-jdbc-6.4.0.jre9.jar;. SqlInterface

Третья команда (в Windows) не работает, потому что $CLASSPATH - это не то, как вы используете переменную среды. Во-первых, вам не нужно его использовать, потому что команда java читает CLASSPATH автоматически.

set CLASSPATH=mssql-jdbc-6.4.0.jre9.jar;C:\Users\Paul\java\Praktikum9
javac SqlInterface.java
java SqlInterface

Но если вы действительно хотите его использовать, вам все равно нужен аргумент -cp, вы используете его с %CLASSPATH% и цитируете его, если в нем есть пробелы.

set CLASSPATH=mssql-jdbc-6.4.0.jre9.jar;C:\Users\Paul\java\Praktikum9
javac -cp "%CLASSPATH%" SqlInterface.java
java -cp "%CLASSPATH%" SqlInterface
...