JDK-6878069 : JavaFileManager does not accept binary package names using '/' on Windows
Type:Bug
Component:tools
Sub-Component:javac
Affected Version:OpenJDK6
Priority:P4
Status:Open
Resolution:Unresolved
OS:generic
CPU:generic
Submitted:2009-09-01
Updated:2024-04-12
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
EVALUATION
javax.tools.JavaFilemanager specifically allows the use of binary names for class names, specifically citing '.' and '/' as interchangeable.
JavacFileManager in JDK6 is problematic w.r.t. its handling of relative pathnames -- it is internally inconsistent whether relative pathnames use '.', '/' or platform file separator. On Windows, the OS allows '/' and '\' in pathnames, but code above the OS often expects the platform file separator only.
The issues in JavacFileManager were fixed in 7, b36, by 6508981 and related CRs. This is too big a patch to backport to 6.
The fix is to normalize inbound package names to use '.'
*** (#1 of 1): [ UNSAVED ] ###@###.###