2、在project选中jar包点击右键"Add as library"。
3、这两步是网上比较容易找到的,但此时项目仍然是无法正常编译的,这时需要在项目的build.gradle文件里的dependencies节加入 dependencies
{
compile files('libs/android-support-v4.jar')
compile files('libs/xxxx.jar')
}
4、此时项目正常编译并运行了,但当你的代码中真正创建了引用jar里的类实例时,有可能系统会抛出异常NoClassDefFoundError,这个时候可以按以下步骤 *** 作:
进入命令提示符窗口。
我在本地使用 Intellij Idea 打包了一个 spark 的程序 jar 包,放到linux集群上运行,报错信息是: Unsupported major.minor version 52.0
本机系统 ->windows10开发工具 ->Intellij Idea构建工具 ->maven
集群系统 ->Linuxjre ->Java(TM) SE Runtime Environment (build 1.7.0_80-b15)`
根据报错 log 可以断定的是由于我本地编译打包所使用的 jdk 版本和 linux 集群的 jre 版本不一致导致的。stanford parser 和 jdk 版本对应关系为:
可以推断出是由于我打包编译时所使用的 jdk 版本是 jdk8,而集群的 jre 是7,才导致的问题。
maven 项目会用 maven-compiler-plugin 默认的 jdk 版本来进行编译,如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题。解决办法:在 pom 文件中配置 maven-compiler-plugin 插件。
方式一:
方式二:
如果使用 scala 编写 spark 的程序,在编译打包时候要注意 scala 的版本号和 jdk 版本的对应关系,同时也要考虑集群上 jre 的版本。比如我的集群上所使用的 jre 的版本号为 7,那么本机打包编译的 jdk 版本必须为 7 ,那么 scala 版本必须为 2.12 版本以下。
Intellij Idea 设置「开发」运行时所用的 jdk 版本的几个地方:
如果上图中 Intellij Idea 的开发运行 jdk 版本配置错误,在开发运行编译的时候会报: Error:java: 无效的源发行版: xx
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)