Compiling with JDK 1.8 java: cannot access class file... class file not found
java, java-6, java-8, javac
Solution
This issue is resolved now :). It's basically related to class path setup and only applicable for JDK 1.8.
For ex : If class 'A' has a reference to class B and class B is implementing an interface say 'C' then javac in JDK 1.8 requires both class B as well as Interface C on the class path where as prior to 1.8 only having class B on the class path was enough.
Please refer https://bugs.openjdk.java.net/browse/JDK-8055048 for more info.
Problem
Though the same code was getting to compiled successfully with JDK 1.6 version, after upgrading to JDK 1.8 it won't compile, saying `java cannot access ....class file ...as class file not found though it exists`. I am compiling this in IntelliJ Idea 13 IDE, tried with both Rebuild option as well as configured ANT build - result is same. Any help is highly appreciated. ``` cannot access IDispatchRequest class file for com.abc.xyz.orchestrator.dispatch.IDispatchRequest not found 1 error Compile failed; see the compiler error output for details. at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1079) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:882) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) at org.apache.tools.ant.Project.executeTarget(Project.java:1306) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1189) at org.apache.tools.ant.Main.runBuild(Main.java:758) at org.apache.tools.ant.Main.startAnt(Main.java:217) at org.apache.tools.ant.Main.start(Main.java:179) at org.apache.tools.ant.Main.main(Main.java:268) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30) ```