classpath

Jonathan Gibbons jonathan.gibbons at oracle.com
Wed Feb 15 01:08:42 UTC 2017


Get back to your volcano!

-- Jon


On 02/14/2017 05:00 PM, Robert Field wrote:
> ~/ works everywhere a filename can appear.
>
> So, you can now do
>
> jshell> /env --class-path ~/JavaLibs/guava-21.0.jar
>
> Robert (under a volcano)
>
>
>
>
>
> On February 14, 2017 9:55:22 AM Michel Trudeau 
> <michel.trudeau at oracle.com> wrote:
>
>> 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