-classpath vs --class-path
Jonathan Gibbons
jonathan.gibbons at oracle.com
Thu Jan 5 21:48:37 UTC 2017
Nicolai,
We've identified the cause of the issue you reported. Although javac
accepts --class-path as an alias for -cp and -classpath, what is notable
about your example is that it is using "classpath wildcards" (i.e. the
"*" in -cp "mods/*"), which is implemented within the native javac
launcher, and not in the mainstream javac code. And yes, in the code
in question, --class-path is not supported, and probably should be.
Filed: https://bugs.openjdk.java.net/browse/JDK-8172309
-- Jon
On 01/05/2017 08:33 AM, Jonathan Gibbons wrote:
> Thank you for the report. It is obviously intended that these options
> should simply be aliases for each other, but I will see if there is
> something else going on to explain what you are seeing.
>
> -- Jon
>
>
> On 1/5/17 3:23 AM, Nicolai Parlog wrote:
>> Hi,
>>
>> during experimentation I encountered compiler behavior that I found
>> rather strange: It looks like the -classpath and --class-path options do
>> not behave the same way.
>>
>> In my experiment I create a bunch of modules in 'mods' and then create
>> the last one by putting the modules on the class path (no reason, just
>> playing around):
>>
>> javac -cp "mods/*" -d classes/advent src/advent/advent/Main.java
>>
>> This works and '-classpath' does, too, but '--class-path' doesn't. In
>> that case the compiler complains that the packages contained by the
>> modules in 'mods' do not exist.
>>
>> For an executable version see here:
>>
>> https://github.com/CodeFX-org/demo-jigsaw-advent-calendar/blob/compiling-with-deps-as-modules/compileAndRun.sh#L41-L48
>>
>>
>> I noticed this on b146 but it also exists in b148; both EA-Jigsaw
>> builds.
>>
>> so long ... Nicolai
>>
>>
>>
>
More information about the jigsaw-dev
mailing list