как установить classpath для весеннего проекта в jshell - PullRequest
0 голосов
/ 20 мая 2019

Я учусь использовать Spring Framework, и я не могу найти инструмент, похожий на Django shell_plus. Я хотел бы быть в реплане Java, в котором у меня есть доступ ко всем моим классам, зависимостям и т. Д. Я гуглил и нашел j-shell и spring-shell, но spring-shell, кажется, не удовлетворяет моим потребностям с тех пор Мне нужно иметь возможность создавать экземпляры и играть с моими классами, поэтому я выбрал j-shell. Моя единственная проблема в том, что я не знаю, как сообщить j-shell, где находятся мои классы. Я пробовал

$ jshell --classpath "~/Desktop/path/to/project/"

каталог моего проекта:

Project
 |
 +-- build.gradle
 |
 +-- build
 |     | 
 |     +-- libs and etc...
 +-- src
 |  |  
 |  +-- main
 |        |
 |        +-- java
 |              |
 |              com
 |               |
 |               +-- MyClass.java
 |               |
 |               +-- MyOtherClass.java
 |
 +-- settings.gradle
 +-- gradlew
 +-- default.nix

но в j-shell у меня нет доступа к Spring Framework или моим классам. Я использую emacs на nixos, если это имеет значение, и nix для зависимостей среды разработки. Спасибо за любую помощь, спасибо.

Я также пытался установить classpath для банок, расположенных в ~/home/.gradle/

Я ожидаю, что буду в jshell repl с доступом к классам Springframework и к тем, которые я сам кодировал.

1 Ответ

0 голосов
/ 27 мая 2019

Есть несколько способов установить путь к классу для сеанса jshell.

  1. При запуске перед вводом REPL:

    $jshell --class-path <your_classpath>
    
  2. После того, как вы уже находитесь в рабочем сеансе REPL:

    jshell>/env -class-path <your_classpath>
    

Обратите внимание на разницу между --class-path и -class-path?Это не опечатка.

Старомодный путь.Установите переменную среды $ CLASSPATH перед запуском jshell:

$export CLASSPATH=<your_classpath>
$jshell

На самом деле существует четвертый способ, который делает путь к классам постоянным между сеансами jshell, поэтому вам не нужно его устанавливатькаждый раз.Он включает в себя создание файла запуска .jsh, настройку и сохранение его.В сеансе jshell см. /help, чтобы узнать больше.

...