Это примерно classpath .
Простой ответ - запустить kotlin
вместо java
, так как это автоматически добавляет поддержку Kotlin в classpath:
> kotlin HelloKt
Однако, если вам нужно запустить java
, тогда вам нужно настроить classpath самостоятельно.
Справочная страница для java
говорит:
Среда выполнения Java выполняет поиск класса запуска и других используемых классов в трех наборах местоположений: путь к классу начальной загрузки, установленные расширения и путь к пользовательскому классу.
Первые два являются частью установки Java и редко затрагиваются, поэтому вам нужно посмотреть путь к классам пользователей.
Вам нужно, чтобы он содержал kotlin-runner.jar
и путь к вашему HelloKt.class
файлу. Последний может просто быть .
для текущего каталога; первое будет зависеть от того, где вы установили Kotlin. (Например, я установил его, используя Homebrew, и этот jar в настоящее время /usr/local/Cellar/kotlin/1.3.31/libexec/lib/kotlin-runner.jar
.)
Справочная страница продолжается:
-classpath classpath
-cp classpath
Specifies a list of directories, JAR archives, and ZIP archives
to search for class files. Class path entries are separated by
colons (:). Specifying -classpath or -cp overrides any setting
of the CLASSPATH environment variable.
If -classpath and -cp are not used and CLASSPATH is not set, the
user class path consists of the current directory (.).
Таким образом, есть два способа сделать это: либо установить переменную окружения $CLASSPATH
перед запуском java
:
> export CLASSPATH="/usr/local/Cellar/kotlin/1.3.31/libexec/lib/kotlin-runner.jar:."
> java HelloKt
Или передать -classpath
или -cp
флаг:
> java -cp /usr/local/Cellar/kotlin/1.3.31/libexec/lib/kotlin-runner.jar:. HelloKt
(Или, как вы говорите, вы можете создать jar-файл, который включает в себя как классы поддержки Kotlin, так и ваши собственные. Это, вероятно, лучший вариант, если вы собираетесь распространять его на машины, на которых может не быть установлен Kotlin. Но это не единственный вариант.)