Скорее всего, ваш код не работает в каталоге, который вы считаете.
Используйте код ОП, приведенный здесь: как получить текущий каталог в Java?
File directory = new File (".");
try {
System.out.println ("Current directory's canonical path: "
+ directory.getCanonicalPath());
System.out.println ("Current directory's absolute path: "
+ directory.getAbsolutePath());
}catch(Exception e) {
System.out.println("Exceptione is ="+e.getMessage());
}
Теперь сравните это с тем, где находится оптимизатор.
Вообще говоря, если вы не контролируете, как вызывается JVM, вы не можете полагаться на относительные пути.