私はjshellを理解しようとしていましたが、外部ライブラリをインポートしようとしました。日付の時点で、私はこれに対する提案/解決策を見ることができませんでした。
すでにこれがわかっている場合は、誰か教えてください。
私は_9 Build 162 Linux 64-bit
_で準備を試みました:
guava-19.0.jar
_および_commons-lang3-3.4.jar
_を_/opt/libs
_にダウンロードしました次のオプションが利用可能です:
CLASSPATH
環境変数を指定します。
_$> CLASSPATH="/opt/libs/commons-lang3-3.4.jar:/opt/libs/guava-19.0.jar" bin/jshell
_
jshellオプションでクラスパスを指定します。
_$> bin/jshell --class-path /opt/libs/guava-19.0.jar:/opt/libs/commons-lang3-3.4.jar
_
コマンド_/env
_、_/reset
_または_/reload
_を使用してjshellセッション内で評価コンテキストを構成します(これらのコマンドは異なります。ヘルプ情報で確認できます) 、例として_/env
_を使用します。
_jshell> /env -class-path /opt/libs/commons-lang3-3.4.jar:/opt/libs/guava-19.0.jar
_
そして、あなたは_import org.Apache.commons.lang3.StringUtils
_または_import com.google.common.base.Optional;
_のいずれかをすることができます。
フィードバックを試してみてください。
ディレクトリからすべてのjarをインポートするJshellを開始します
ディレクトリを~/app/Java/jars/
jshell --class-path $(ls -d ~/app/Java/jars/* | tr '\n' ':')
Fish Shellを使用している場合は、魚の構成ファイルでエイリアスを設定できます。方法は次のとおりです。魚の設定(〜/ .config/fish/config.fish)で、追加します
alias jshell "~/.jenv/versions/12.0.1/bin/jshell --class-path (find ~/.m2/repository/ -name \"*.jar\" | tr '\n' ':')"
これにより、クラスパス内のすべてのjarがロードされます。
注:jshellパスとjarsリポジトリパスを適宜変更してください。