web-dev-qa-db-ja.com

jshellで外部ライブラリをインポートする方法Java 9?

私はjshellを理解しようとしていましたが、外部ライブラリをインポートしようとしました。日付の時点で、私はこれに対する提案/解決策を見ることができませんでした。

すでにこれがわかっている場合は、誰か教えてください。

38
Akshay

私は_9 Build 162 Linux 64-bit_で準備を試みました:

  • _guava-19.0.jar_および_commons-lang3-3.4.jar_を_/opt/libs_にダウンロードしました

次のオプションが利用可能です:

  1. CLASSPATH環境変数を指定します。

    _$> CLASSPATH="/opt/libs/commons-lang3-3.4.jar:/opt/libs/guava-19.0.jar" bin/jshell_

  2. jshellオプションでクラスパスを指定します。

    _$> bin/jshell --class-path /opt/libs/guava-19.0.jar:/opt/libs/commons-lang3-3.4.jar_

  3. コマンド_/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;_のいずれかをすることができます。

49
shizhz
  • mavenアーティファクトこの(変更された)バージョンのJShell を介してJShellにロードできます。
  • また、/ clsコマンドclear JShell Consoleをサポートしています。以下のMavenの例を参照してください。

enter image description here

フィードバックを試してみてください。

9
Pahari Chora

ディレクトリからすべてのjarをインポートするJshellを開始します

ディレクトリを~/app/Java/jars/

jshell --class-path $(ls -d ~/app/Java/jars/* | tr '\n' ':')
5
S. M. AMRAN

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リポジトリパスを適宜変更してください。

0
Dinesh Chander