Подтвердить что ты не робот

Как импортировать внешние библиотеки в jshell java 9?

Я пытался понять jshell и возился с импортом внешней библиотеки. На сегодняшний день я не мог видеть никаких предложений/решений для этого.

Может кто-нибудь, пожалуйста, дайте мне знать, если уже понял это.

4b9b3361

Ответ 1

Я пробовал с 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. Сконфигурируйте контекст оценки в сеансе jshell с помощью команды /env, /reset или /reload (эти команды отличаются, вы можете проверить их справочную информацию), возьмите /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;.

Ответ 2

  • Вы можете загрузить артефакты maven в JShell через эту (измененную) версию JShell.
  • Он также поддерживает команду /cls для очистки консоли JShell. См. пример Maven ниже.

enter image description here

Попробуйте и поделитесь своим мнением.

Ответ 3

Более простой способ в maven, см. В JShell, как импортировать classpath из проекта Maven: В каталоге вашего проекта выполните:

mvn com.github.johnpoth:jshell-maven-plugin:1.0:run

Если у вас есть Maven pom.xml, вы можете использовать https://github.com/bitterfox/jshell-maven-plugin. Это использует все зависимости как путь к классу. Плагин в настоящее время не в Maven, поэтому вам нужно клонировать репо: git clone https://github.com/bitterfox/jshell-maven-plugin.git. Затем,

  1. mvn clean install
  2. добавьте следующее к pom.xml:

    <build>
    <plugins>
        <plugin>
            <groupId>net.java.openjdk.shinyafox</groupId>
            <artifactId>jshell-maven-plugin</artifactId>
            <version>1.0-SNAPSHOT</version>
        </plugin>
    </plugins>
    </build>
    
  3. начать с mvn jshell:compile

Ответ 4

Запустите Jshell для импорта всех jar файлов из каталога

Пусть каталог ~/app/java/jars/

jshell --class-path $(ls -d ~/app/java/jars/* | tr '\n' ':')

Ответ 5

Если вы используете Fish shell, вы можете установить псевдоним в вашем конфигурационном файле fish. Вот как вы можете это сделать. В настройках своей рыбы (~/.config/fish/config.fish) добавьте

alias jshell "~/.jenv/versions/12.0.1/bin/jshell --class-path (find ~/.m2/repository/ -name \"*.jar\" | tr '\n' ':')"

Это загрузит все банки в вашем пути к классам.

Примечание. Измените путь jshell и путь к хранилищу jars соответствующим образом.