Ste*_*lis 26 java netbeans class compiler-warnings
所以我得到 - warning: [options] bootstrap class path not set in conjunction with -source 1.6
我即将问3个问题.我知道我需要设置bootstrap类路径,但我不确定我是怎么理解的.一个快速谷歌只是发送给我从Oracle页面引用的页面,但我读了Oracle页面,并没有觉得我特别理解它.
我目前在Netbeans上运行此代码,所以我要做的就是点击播放按钮进行编译和运行.是否有一个属性指示如何编译,以便我可以添加引导类路径?
另外,对于即将发生的事件,我将仅在Netbeans上运行并从命令行运行它,使用bootstrap类路径编译的正确方法是什么?他们说,$ javac -source 6 HelloWorld.java但只是说明-source 1.6确实是解决方案?
也许是一个更大的问题,我将来如何避免这种类型的警告?如果我理解甚至一点点,我引用一个旧的java源代码,因此引用较旧的方法.我不确定这是怎么发生的.
too*_*asr 41
你正在进行交叉编译.您正在使用JDK 7编译器来编译JDK 6的类.这没关系,但为了避免问题,编译器希望得到JDK 6 rt.jar.其背后的原因是,您实际上可能会生成不能与JDK 6一起使用的类,因为您可能使用的是旧语言规则(在本例中为1.6),而是使用全新的引导类.例如,旧的JDK中可能不存在某些方法.所以你完成了你的编译,但是一旦你运行程序,它可能会爆炸MethodNotFoundException.
几个解决方案,你可以选择一个
rt.jar从JDK 6开始指定.为什么不使用比旧版本更好的编译器?rt.jar包含).如果不需要7个功能,为什么甚至使用7.