首先是在Maven的pom.xml文件中添加<dependency>,
如图所示:
但是通过反复试错以及查阅了Maven Central: org.deeplearning4j:deeplearning4j-core:1.0.0-M2
之后发现,基本该Deeplearning4j库都需要Java 9+ 的版本,但是本人项目一直是JDK 8,(也就是老版本的JDK),然后新建了一个测试的java文件试图运行,代码如下:
public class Deeplearning4j { public static void main(String[] args) { int numInput = 2; // 输入节点数 int numHidden = 20; // 隐藏节点数 int numOutput = 1; // 输出节点数 double learningRate = 0.01; // 学习率 MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(123) .updater(new Sgd(learningRate)) .list() .layer(new DenseLayer.Builder().nIn(numInput).nOut(numHidden) .activation(Activation.RELU) .build()) .layer(new OutputLayer.Builder(LossFunctions.LossFunction.XENT) .activation(Activation.SIGMOID) .nIn(numHidden).nOut(numOutput).build()) .build(); MultiLayerNetwork model = new MultiLayerNetwork(conf); model.init(); } }
运行出现这样的错误:
Error:(2, 34) java: 无法访问org.deeplearning4j.nn.conf.MultiLayerConfiguration 错误的类文件: /C:/Users/FerryMaLi/.m2/repository/org/deeplearning4j/deeplearning4j-nn/1.0.0-M2.1/deeplearning4j-nn-1.0.0-M2.1.jar!/org/deeplearning4j/nn/conf/MultiLayerConfiguration.class 类文件具有错误的版本 55.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。
发现该问题原因是:
这个问题指示你的Java项目中存在版本不兼容的问题。这里的 “55.0” 是Java类文件的版本号,对应于Java 11,而 “52.0” 对应于Java 8。
所示解决方案可以有以下这些:
升级JDK版本:如果你的项目可以升级到Java 11,你可以安装JDK 11并确保你的IDE(例如IntelliJ IDEA或Eclipse)和构建工具(例如Maven或Gradle)使用的是JDK 11。
更改项目的编译版本:如果你必须使用Java 8,你需要确保你的项目设置为使用Java 8编译。在Maven中,你可以在
pom.xml
文件中设置maven-compiler-plugin
插件的source
和target
为1.8:更换依赖库的版本:如果是因为某个依赖库是用Java 11编译的,而你的项目需要在Java 8环境下运行,你可能需要找到该依赖库兼容Java 8的版本,并在项目的
pom.xml
中将其依赖库版本更换为兼容Java 8的版本。清理和重新构建项目:有时候清理项目的缓存和重新构建可以解决这类问题。在Maven中,你可以使用以下命令来清理和重新构建项目:
我先说第一种解决办法,首先为了保留之前的JDK以在后续的项目使用,所以我选择了在同一电脑上安装了不同的JDK版本,具体操作不难,展示如下:
这样一来,当需要什么版本的JDK就修改 JAVA_HOME,这里举例 %JAVA_HOME11% ,11则代表我当前是JDK 11,好的这里结束之后,往下看!
我的软件是Intellli IDEA,首先要知道自己的IDEA能支持的JDK最高版本
PS:我之前没有看自己的仅能支持到JDK 14,而下载了JDK 17,导致出现下列报错:
Error:Cannot determine path to 'tools.jar' library for 17 (C:/Program Files/Java/jdk-17)
而我的IDEA仅能到14,所以我最后又添加了JDK 11,然后选择的 10 -Local variable type inference
好了 ,现在再说切换自己项目JDK的操作:
找到并添加自己心仪且适合的JDK,同时注意:我的是Maven项目,所以需要在pom.xml文件里统一修改配置,如下所示;
最后的最后,运行我上面给出的 Deeplearning4j 示例代码,成功如下;
以上就是我的个人经历及总结,