java - Diamond shorthand syntax not working javac -
when compile this:
linkedblockingdeque<integer> q = new linkedblockingdeque<>();
in eclipse java ee kepler version, works fine, once try compile same program in in terminal
javac myprogram.java
in command line, receive "illegal start of type" error, on <>
i know diamond shorthand came java 7, why terminal use javac of java 6 , not 7? , how correct permanently? i'm on linux, mint 15.
running javac -version revealed this
~ $ javac -version javac 1.6.0_27
apparently have 2 separate versions of java installed. in eclipse, can specify location of jdk - set 1.7. in terminal, path variable contains (first) location of jdk 1.6. looks you're running linux/unix, try printing path
variable:
$ echo $path
you'll see in there path jdk 1.6; path jdk 1.7 may there after jdk 1.6 path. edit ~/.profile
file , edit path accordingly - remove jdk 1.6 , add jdk 1.7.
if, on other hand, path jdk 1.6 set on system level (e.g. in /etc/profile
), easiest thing add line ~/.profile
file:
export path="/path/to/jdk1.7/bin:$path"
after editing file, log out , log in.
Comments
Post a Comment