classpath
Michel Trudeau
michel.trudeau at oracle.com
Tue Feb 14 17:55:20 UTC 2017
I would go for such an improvement. Please file an RFE.
--
Michel
> Peter Levart <mailto:peter.levart at gmail.com>
> February 12, 2017 at 1:09 PM
>
>
>
>
> No, perhaps not. But it would perhaps be nice to have some kind of
> platform-independet way to expand either current Java system
> properties or process environment variables (or both) in arguments of
> jshell's slash-commands. So one could do for example:
>
> jshell> /env --class-path {user.home}/JavaLibs/guava-21.0.jar
> | Setting new options and restoring state.
>
> jshell> /env
> | --class-path /home/peter/JavaLibs/guava-21.0.jar
>
>
>
> Regards, Peter
>
> Peter Levart <mailto:peter.levart at gmail.com>
> February 12, 2017 at 12:57 PM
> Hi,
>
>
>
> The problem seems to be the tilde "~" character you used to specify
> the path to the jar file. For example:
>
> jshell> /env --class-path ~/JavaLibs/guava-21.0.jar
> | Setting new options and restoring state.
>
> jshell> /env
> | --class-path ~/JavaLibs/guava-21.0.jar
>
> jshell> import com.google.common.base.Function;
> | Error:
> | package com.google.common.base does not exist
> | import com.google.common.base.Function;
> | ^-----------------------------^
>
>
> ...but...
>
> jshell> /env --class-path /home/peter/JavaLibs/guava-21.0.jar
> | Setting new options and restoring state.
>
> jshell> /env
> | --class-path /home/peter/JavaLibs/guava-21.0.jar
>
> jshell> import com.google.common.base.Function;
>
> jshell>
>
>
> The "tilde" character is usually expanded by a UNIX shell:
>
> bash$ echo ~
> /home/peter
>
> ...but jshell seems to interpret it literally.
>
> Should jshell treat and expand /env arguments according to the rules
> of native shells on the corresponding platforms? For example, should
> it expand %VARIABLE% on Windows and ${VARIABLE} or $VARIABLE on UNIX-es ?
>
> Regards, Peter
>
> Michael Müller <mailto:michael.mueller at mueller-bruehl.de>
> February 12, 2017 at 7:03 AM
> Hi,
>
>
> formerly I could use
>
> /classpath
> ~/Dropbox/Vortrag/ParallelStreams/ParallelStreams/target/ParallelStreams.jar
>
> | Path '~/Dropbox/Vortrag/ParallelStreams/ParallelStreams/target/
> ParallelStreams.jar' added to classpath
> jshell> import de.muellerbruehl.parallelstreams.PersonManager
>
>
> SInce this has become /env, I have trouble with it:
>
> jshell> /env -class-path
> ~/Dropbox/Vortrag/ParallelStreams/ParallelStreams/target/ParallelStreams.jar
>
> | Setting new options and restoring state.
>
> jshell> /env
> | --class-path
> ~/Dropbox/Vortrag/ParallelStreams/ParallelStreams/target/ParallelStreams.jar
>
>
> jshell> import de.muellerbruehl.parallelstreams.PersonManager
> | Error:
> | package de.muellerbruehl.parallelstreams does not exist
> | import de.muellerbruehl.parallelstreams.PersonManager;
> | ^--------------------------------------------^
>
> Although /env displays the added classpath, it is not recognized.
> To add a classpath, I have to leave the shell and restart it with the
> classpath option.
> And btw. the doc states a directory will be accepted as classpath. But
> I always have to add the fully qualified name of the jar. The
> directory only does not work :(
>
More information about the kulla-dev
mailing list