Mail Archives: cygwin/2000/12/21/22:13:17
The answer is that java.exe, like many Win32 tools, expands
the '*' itself. Remember, COMMAND.COM doesn't expand wildcards, so
individual tools have to do it for themselves. To see this, go to a
MS-DOS prompt window and type '*'. You'll get "Bad command or file
name" -- i.e., no such file *. Now type 'java *'. You'll see a
NoClassDefFound exception naming the alphabetically first file in that
directory. Now try 'java "*"'. Now you'll get a NoClassDefFoundError
for * -- i.e., java.exe itself interpreted the quotes.
Now, given this nice explanation, I -still- can't get quite the effect
you want under bash. I expected java \"\*\" to work, but it seems that
in that case java sees the quotes as part pf the argument, and I'm not
clear why this is different that under the MS-DOS prompt.
I think Puttkammer, Roman wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
>
> sorry, my example could't have been worse: i just wanted to
> illustrate that the asterix was being expanded (by the shell?)
> even though it's escaped.
>
> the problem is: when invoking
>
> java someclass \*
>
> the \* is being expanded to the list of files in the current
> directory (the class is invoked with a list of filenames rather
> than with a "*".) AFAIK that shouldn't be.
>
> roman
>
> > -----Original Message-----
> > From: Dunn-Roberts, Richard [mailto:RICHARD DOT R DOT DUNN-ROBERTS AT saic DOT com]
> > Sent: Thursday, December 21, 2000 9:06 PM
> > To: cygwin AT cygwin DOT com
> > Subject: RE: bash wildcard expansion
> >
> >
> > It looks to me as if the reason here is that cmlistener.class is being
> > passed to java. Java does not take the extension.
> >
> > The correct command is > java cmlistener
> > What is being issued is > java cmlistener.class
> >
> > Since Java uses the dot as a path separator, it is looking for
> > cmlistener/class.class
> >
> > As to why it is working in dos, I don't know that answer to that.
> >
> > I'm curious. Why do you want to invoke the Java VM with
> > multiple class
> > files on the command line. Only the first would get
> > executed, I think, and
> > the rest would be treated as command line arguments (String
> > args[]) to the
> > first.
> >
> >
> > Richard Dunn-Roberts
> > Science Applications International Corporation
> > 12479 Research Parkway
> > Orlando, Florida, 32826-3248
> >
> > richard DOT r DOT dunn-roberts AT saic DOT com
> >
> > vox: (407) 207 2752
> > fax: (407) 277 5395
> >
> >
> >
> > -----Original Message-----
> > From: Puttkammer, Roman [mailto:roman DOT puttkammer AT multex DOT com]
> > Sent: Thursday, December 21, 2000 8:40 PM
> > To: 'cygwin AT cygwin DOT com'
> > Subject: bash wildcard expansion
> >
> >
> >
> > I hope i'm not getting flamed for this one, but what am I missing? A
> > command line argument is being expanded by bash even though
> > it's escaped.
> >
> > /tibrv/src/examples/java# D:/jdk1.3/bin/java.exe \*
> > Exception in thread "main" java.lang.NoClassDefFoundError:
> > cmlistener/class
> >
> > "cmlistener.class" is the first filename in the directory.
> >
> > Same thing if i'm using single quotes to escape. Note that
> > java.exe does not
> > expand arguments itself; it works as expected from a DOS shell:
> >
> > D:\TIBCO\TIBRV\src\examples\java>java "*"
> > Exception in thread "main" java.lang.NoClassDefFoundError: *
> >
> > "ls '*'" or "ls \*" works as expected ("ls: *: No such file
> > or directory".)
> >
> > roman
> >
> > Cygwin DLL version: 1001 / 6
> > GNU bash, version 2.04.0(1)-release (i586-pc-cygwin)
> >
> > --
> > To pour bottled sauce over salad is to miss the point of
> > salad altogether.
> > - Fairways,
> > advertisement for olive oil
> >
> > This email message is for the sole use of the intended
> > recipient(s) and may
> > contain confidential and privileged information. Any
> > unauthorized review,
> > use, disclosure or distribution is prohibited. If you are
> > not the intended
> > recipient, please contact the sender by reply email and
> > destroy all copies
> > of the original message.
> > Any views expressed in the email message are those of the
> > individual sender
> > except where the sender specifically states them to be
> > the views of
> > Multex.com, Inc.
> >
> > Roman Puttkammer
> mailto:putt AT multex DOT com
> Multex.com, Inc. http://www.multex.com
> 33 Maiden Lane tel +1 (212) 859 9908
> New York, NY 10038 fax +1 (212) 859 9810
>
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
>
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
>
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
>
---------------------------------------------------------
Ernest Friedman-Hill
Distributed Systems Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
Org. 8920, MS 9012 ejfried AT ca DOT sandia DOT gov
PO Box 969 http://herzberg.ca.sandia.gov
Livermore, CA 94550
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -