在pom.xml中没有声明的加入这个plugin时,是按照1.3来进行编译的。
可以在这个plugin中指定source和target的版本,当指定的版本是1.5,而用到的编译器确实jdk1.6时,即使源码中用到了JDK1.6库中的方法,照样可以编译通过。
当然,如果source中有泛型,设定版本为1.3,还是编译不过的。
这里source和target版本的含义应该是指定java虚拟机所能识别的版本号。
在上面这个case中,jdk1.6编译的,目标版本1.5编译后,在1.5的虚拟机上运行错误,提示所用1.6库中的方法不存在。
可如果编译目标版本是1.6,然后在1.5虚拟机上运行错误提示Bad version number in .class file。
所以,如果希望在1.5编译时就发现错误,就要用1.5的编译器。
可以在这个plugin中指定source和target的版本,当指定的版本是1.5,而用到的编译器确实jdk1.6时,即使源码中用到了JDK1.6库中的方法,照样可以编译通过。
当然,如果source中有泛型,设定版本为1.3,还是编译不过的。
这里source和target版本的含义应该是指定java虚拟机所能识别的版本号。
在上面这个case中,jdk1.6编译的,目标版本1.5编译后,在1.5的虚拟机上运行错误,提示所用1.6库中的方法不存在。
可如果编译目标版本是1.6,然后在1.5虚拟机上运行错误提示Bad version number in .class file。
所以,如果希望在1.5编译时就发现错误,就要用1.5的编译器。