J'essayais de comprendre jshell et j'ai tâtonné pour importer une bibliothèque externe. A ce jour, je n'ai pu voir aucune suggestion/solution pour cela.
Quelqu'un peut-il me faire savoir s'il a déjà trouvé la solution ?
J'essayais de comprendre jshell et j'ai tâtonné pour importer une bibliothèque externe. A ce jour, je n'ai pu voir aucune suggestion/solution pour cela.
Quelqu'un peut-il me faire savoir s'il a déjà trouvé la solution ?
J'ai essayé avec 9 Build 162 Linux 64-bit
avec préparation :
guava-19.0.jar
et commons-lang3-3.4.jar
à /opt/libs
Les options suivantes sont disponibles :
Précisez CLASSPATH
variable d'environnement :
$> CLASSPATH="/opt/libs/commons-lang3-3.4.jar:/opt/libs/guava-19.0.jar" bin/jshell
Spécifiez le chemin de classe avec jshell option :
$> bin/jshell --class-path /opt/libs/guava-19.0.jar:/opt/libs/commons-lang3-3.4.jar
Configurer le contexte d'évaluation dans jshell session avec la commande /env
, /reset
ou /reload
(ces commandes sont différentes, vous pouvez vérifier avec son info d'aide), prenez /env
à titre d'exemple :
jshell> /env -class-path /opt/libs/commons-lang3-3.4.jar:/opt/libs/guava-19.0.jar
Et ensuite vous pouvez soit import org.apache.commons.lang3.StringUtils
ou import com.google.common.base.Optional;
.
Sous Windows 7, cela fonctionne de la même manière : définissez la variable d'environnement CLASSPATH, qui pointe vers le fichier jar, puis utilisez 'import' pour importer la classe/le paquet.
@Prags J'essaie d'utiliser les options 2 et 3 dans l'environnement Windows 10 avec Jshell, cela ne fonctionne pas. Devons-nous faire quelque chose d'autre pour que cela fonctionne dans Windows 10 ?
Essayez et partagez votre avis.
Une méthode plus simple dans maven, voir En JShell, comment importer le classpath d'un projet Maven ? : Dans le répertoire de votre projet, exécutez :
mvn com.github.johnpoth:jshell-maven-plugin:1.0:run
Si vous avez un maven pom.xml
vous pouvez utiliser https://github.com/bitterfox/jshell-maven-plugin . Cela utilise toutes les dépendances comme classpath. Le plugin n'est pas actuellement dans maven, vous devez donc cloner le repo : git clone https://github.com/bitterfox/jshell-maven-plugin.git
. Puis ,
mvn clean install
ajoutez ce qui suit à votre pom.xml
:
<build>
<plugins>
<plugin>
<groupId>net.java.openjdk.shinyafox</groupId>
<artifactId>jshell-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</plugin>
</plugins>
</build>
commencer par mvn jshell:compile
Si vous utilisez le shell Fish, vous pouvez définir l'alias dans votre fichier de configuration Fish. Voici comment vous pouvez le faire. Dans votre fichier de configuration Fish ( ~/.config/fish/config.fish ), ajoutez
alias jshell "~/.jenv/versions/12.0.1/bin/jshell --class-path (find ~/.m2/repository/ -name \"*.jar\" | tr '\n' ':')"
Cela chargera tous les bocaux dans votre chemin de classe.
Note : Changez le chemin de jshell et le chemin du dépôt de jars en conséquence.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Voir stackoverflow.com/a/51572213/3728901