I'm using JDK7 and Eclipse Indiago in Windows 7 64-bit. I set environment variable JAVA_HOME to F:\JDK7 and add %JAVA_HOME%\bin in path. It's my sample code:
com.sun.tools.javac.Main m1 = new com.sun.tools.javac.Main();
m1.compile(source);
Error I get:
Type com.sun.tools cannot be resolved to a type
Why there is no com.sun.tools ? What's the problem ?
It looks like you are using Eclipse. By default Eclipse only imports JRE jars, not the ones from the JDK.
Solution 1:
Solution 2:
Edit your project build path and add an external library: tools.jar found in JDK_HOME/lib
javac is in the JDK bin directory, but not the JRE bin.
I had a similar problem and it turned out that by mistake I had set my JAVA_HOME variable to the JRE instead of the JDK, i.e.,
C:\Program Files\Java\jre1.8.0_60 instead of
C:\Program Files\Java\jdk1.8.0_60
Because I "knew" that I had copied the correct directory name, it took me ages to see those two different characters and fix the problem.
You are better off using the JavaCompiler API, rather than attemtping to call javac directly which is in tools.jar The API will add this for you if you use it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With