|
Quick Lists
|
|
Bug ID:
|
4064185
|
|
Votes
|
5
|
|
Synopsis
|
javac in Windows NT doesn't handle forward slash (/)
|
|
Category
|
java:compiler
|
|
Reported Against
|
1.1.3
, 1.1.4
, 1.2beta2
|
|
Release Fixed
|
1.2(1.2beta4)
|
|
State
|
11-Closed,
Unverified,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
4096400
,
4111087
|
|
Submit Date
|
11-JUL-1997
|
|
Description
|
javac can't find classes if it is invoked on a file
which is specified by a path using forward slashes.
This makes it more painful than necessary to write makefiles
that work on NT and Solaris.
e.g.:
> javac -g -deprecation PackageName/ClassName.java
PackageName/ClassName.java:38: Public class PackageName.ClassName must be
defined in a file called "ClassName.java".
public abstract class ClassName extends Thread {
^
1 error
>
But, this works:
>javac -g -deprecation PackageName\ClassName.java
>
======================================================================
|
|
Work Around
|
Use backslashes on Windows machines!
======================================================================
|
|
Evaluation
|
Verified behavior with 1.1.3fcs on NT.
He's right; according to mr, this should work, with the file name
getting automagically translated by some native io method somewhere.
xxxxx@xxxxx 1997-07-11
There check was being performed by comparing the command line string
to what the compiler thought it should be using .equals(). The fix
was to instead check canonified names.
xxxxx@xxxxx 1998-05-05
My "fix" above was incorrect, and is being backed out. The real problem
is that java.io.File.getName() represents paths as strings rather than with
a real data structure. Mark assures me that problem will get fixed very
soon, which will cause the javac problem to go away.
I'm moving this back from integrated to committed until I can confirm
that the java.io fix fixes this problem as well.
xxxxx@xxxxx 1998-05-07
Confirmed fixed with putback for 4102262.
xxxxx@xxxxx 1998-05-13
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |