Details
-
Type:
Bug
-
Status: Closed
-
Priority:
P4
-
Resolution: Not an Issue
-
Affects Version/s: 7u76, 8, 9
-
Fix Version/s: None
-
Component/s: core-libs
-
Labels:
-
Subcomponent:
-
CPU:generic
-
OS:windows
Description
FULL PRODUCT VERSION :
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Dynamic Code Evolution 64-Bit Server VM (build 24.51-b03-dcevmfull-3, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 10.0.10586]
A DESCRIPTION OF THE PROBLEM :
Tilde resolves to the working dir instead of intelligently resolving to the user home dir
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
A user enters their home directory in a config file using a tilde (~).
This doesn't resolve to the user home when on Windows.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expect ~ to resolve to user home on Windows.
ACTUAL -
It resolves to the working dir
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.nio.file.Path;
import java.nio.file.Paths;
public class Test {
public static void main(String[] args) {
Path doesntWork = Paths.get("~/.m2");
System.out.println(doesntWork.toAbsolutePath());
Path works = Paths.get(System.getProperty("user.home") + "/.m2");
System.out.println(works.toAbsolutePath());
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
http://stackoverflow.com/questions/7163364/how-to-handle-in-file-paths
String path = "~/Documents";
path.replaceFirst("^~", System.getProperty("user.home"));
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Dynamic Code Evolution 64-Bit Server VM (build 24.51-b03-dcevmfull-3, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 10.0.10586]
A DESCRIPTION OF THE PROBLEM :
Tilde resolves to the working dir instead of intelligently resolving to the user home dir
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
A user enters their home directory in a config file using a tilde (~).
This doesn't resolve to the user home when on Windows.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expect ~ to resolve to user home on Windows.
ACTUAL -
It resolves to the working dir
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.nio.file.Path;
import java.nio.file.Paths;
public class Test {
public static void main(String[] args) {
Path doesntWork = Paths.get("~/.m2");
System.out.println(doesntWork.toAbsolutePath());
Path works = Paths.get(System.getProperty("user.home") + "/.m2");
System.out.println(works.toAbsolutePath());
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
http://stackoverflow.com/questions/7163364/how-to-handle-in-file-paths
String path = "~/Documents";
path.replaceFirst("^~", System.getProperty("user.home"));