I have the following java code:

```
public interface Defaults {
  public static final String DIR_PATH = "a/b/c/";
  File DIR_FILE = new File(DIR_PATH);
}

public class Main {
  public File directory = Defaults.DIR_FILE;
}

```

This was compiled on a windows machine and deployed to our local nexus repository. It was then executed during a maven build on a linux machine. I end up with `main.directory.list()` returning null. Using **mvnDebug**, I see that the path of the File is actually `a\b\c`! If I use the debugger to change the directory to `new File("a/b/c")`, then my code works.

Why did the compiler encode system-specific separators? Is there a solution?