最近在做嵌入式上跑java程序,由于第三方提供的jar包是jdk是1.6的编的,所以,我们这边也需要用jdk1.6。遇到了不少问题,在这里记录一下:
1.嵌入式下java环境安装
http://www.blogjava.net/tingfeng/articles/432484.html
2. 在windows安装java开发环境
https://www.runoob.com/java/java-environment-setup.html
jdk下载1.6, eclipse到官网下载kepler版本(eclipse-java-kepler-SR2-win32-x86_64.zip), 为啥呢?最新的eclipse就不再支持jdk 1.6
3. 代码遇到的问题:
引入log4j产生的错误:java.lang.NoClassDefFoundError: org/apache/log4j/Logger
这个错误是下载的log4j版本为2.3, 发现它的包路径为org/apache/logging/log4j/Logger,换成低版本1.2就可以了。
要成功的使用log4j需要包含的jar包,这些都可以在相关的官网下载到,这里不贴链接了:
- log4j-1.2.16.jar
- slf4j-api-1.6.6.jar
- slf4j-log4j12-1.7.0.jar
错误二:java.lang.NoClassDefFoundError: sun/misc/BASE64Decoder
这个在网上一找就是一大把,但都是关于怎么解决项目构建工具(如eclipse)下遇到这个问题。我需要使用javac命令编译。看到了一个解决eclipse方法,只要引入jdk目录下jre/lib/rt.jar就可以了。于是,聪明的我如法炮制,把jdk1.6目录下的jre/lib/rt.jar拷贝出来,javac -cp引入就可以了。