今天很尴尬,发现自己七窍开了六窍,扎心,很多基础都不懂,被同事吊打。。。最近还天天想着看电视剧,哎,弃疗患者。慢慢补吧!!
最近遇到在本地maven build没问题,但是在jenkins上面打包就有问题。看了compileInfo,最开始是说
[ERROR] 找不到java.util.function.Supplier的类文件
通过百度发现function是java8新增的包,里面主要包含了Function,Consumer,Predicate,Supplier四种类。所以这边找不到应该是编译器的版本不是1.8造成的,我联系了it运维让她们改成了1.8,可是还是报错,后面日志显示maven版本不够,又换了maven版本号,还是不行,最后,我同事看日志,见下图。途中显示java版本号是1.8,可是实际的编译器还是1.7,然后我同事让我问it运维javac的版本号是不是还是1.7,环境变量是不是还是指向的1.7.。。。。。这个时候我完全是不懂的,第一次了解到java和javac居然不一样。。。。哎,平时基础太烂了,自己还很懒,扎心了。
下面记录下java和javac的介绍及区别,虽然很简短,但是还是值得记录一波的:
java与javac属于JDK里面的命令工具,javac 可以将java源文件编译为class字节码文件,java 可以运行class字节码文件。
javac要通过设置JAVA_HOME来指定编译版本,只改path是不会改变javac的编译版本的。