[英]deeplearning4j Expected model class name Model (found Functional)
[英]Deeplearning4j class not found
首先感谢您抽出宝贵的时间来帮助我。 我叫Matt,我一直在尝试学习Java,以及创建mc插件。 我一直在尝试制作一个具有深度学习功能的spigot插件(用于MC)。 我正在尝试使用deeplearning4j。 我知道我可以在spigotmc网站上提出这个问题,但是我认为它们不会有太大帮助,因为从spigotmc的先前帖子中可以看出,他们似乎并不了解很多关于dl4j的知识。 所以到目前为止,我所做的就是使用dl4j网站上的快速入门指南来设置maven和Intellij,并在intellij中创建一个maven项目,并为deeplearning4j添加依赖项,这是我的POM.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gmail.mateo.lack</groupId>
<artifactId>SNAC5</artifactId>
<version>1.0-SNAPSHOT</version>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<properties>
<dl4j.version>1.0.0-beta3</dl4j.version>
<nd4j.version>1.0.0-beta3</nd4j.version>
<logback.version>1.2.3</logback.version>
<java.version>1.8</java.version>
<maven-shade-plugin.version>2.4.3</maven-shade-plugin.version>
</properties>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>com.gmail.mateo.lack</groupId>
<artifactId>spigot</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:/Users/mlavatar/Downloads/spigot-1.8.8-R0.1-SNAPSHOT-latest.jar</systemPath>
</dependency>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native-platform</artifactId>
<version>1.0.0-beta3</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-core</artifactId>
<version>1.0.0-beta3</version>
</dependency>
<dependency>
<groupId>org.datavec</groupId>
<artifactId>datavec-hadoop</artifactId>
<version>1.0.0-beta3</version>
</dependency>
<dependency>
<groupId>org.datavec</groupId>
<artifactId>datavec-api</artifactId>
<version>1.0.0-beta3</version>
</dependency>
<dependency>
<groupId>com.gmail.mateo.lack</groupId>
<artifactId>ShatteredStaff</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:/Users/mlavatar/Desktop/MyPlugins/ShatteredStaff.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Maven compiler plugin: compile for Java 8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!--
Maven shade plugin configuration: this is required so that if you build a single JAR file (an "uber-jar")
it will contain all the required native libraries, and the backends will work correctly.
Used for example when running the following commants
mvn package
cd target
java -cp deeplearning4j-examples-1.0.0-beta-bin.jar org.deeplearning4j.LenetMnistExample
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>bin</shadedClassifierName>
<createDependencyReducedPom>true</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>org/datanucleus/**</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>reference.conf</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
但是,问题是,一旦我将其导出(通过向右,maven,生命周期,程序包导出),然后在plugins文件夹中尝试了jar,就会收到此错误:
09.12 13:58:02 [Server] ERROR Could not load 'plugins/SAC.jar' in folder 'plugins'
09.12 13:58:02 [Server] INFO org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/nd4j/linalg/schedule/ISchedule
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:331) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:254) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:293) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:202) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
09.12 13:58:02 [Server] INFO Caused by: java.lang.NoClassDefFoundError: org/nd4j/linalg/schedule/ISchedule
09.12 13:58:02 [Server] INFO at SAC.sac.<init>(sac.java:48) ~[?:?]
09.12 13:58:02 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:77) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO ... 6 more
09.12 13:58:02 [Server] INFO Caused by: java.lang.ClassNotFoundException: org.nd4j.linalg.schedule.ISchedule
09.12 13:58:02 [Server] INFO at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at SAC.sac.<init>(sac.java:48) ~[?:?]
09.12 13:58:02 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_191]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:77) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 13:58:02 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
我试图通过Google搜索此错误,但没有找到有用的信息,我已经在该网站上搜索了答案,并且大多数人都将我带回了我首先遵循的快速入门指南。 帮助将不胜感激。
编辑: 使用Uberjar后,我得到此错误:
ERROR Could not load 'plugins/SAC.jar' in folder 'plugins'
09.12 18:17:31 [Server] INFO org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:331) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:254) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:293) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:202) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
09.12 18:17:31 [Server] INFO Caused by: java.lang.ExceptionInInitializerError
09.12 18:17:31 [Server] INFO at org.deeplearning4j.nn.conf.NeuralNetConfiguration$Builder.seed(NeuralNetConfiguration.java:683) ~[?:?]
09.12 18:17:31 [Server] INFO at KillAura.kMain.<init>(kMain.java:118) ~[?:?]
09.12 18:17:31 [Server] INFO at SAC.sac.<init>(sac.java:48) ~[?:?]
09.12 18:17:31 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:77) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO ... 6 more
09.12 18:17:31 [Server] INFO Caused by: java.lang.RuntimeException: org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException: Please ensure that you have an nd4j backend on your classpath. Please see: http://nd4j.org/getstarted.html
09.12 18:17:31 [Server] INFO at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:5484) ~[?:?]
09.12 18:17:31 [Server] INFO at org.nd4j.linalg.factory.Nd4j.<clinit>(Nd4j.java:215) ~[?:?]
09.12 18:17:31 [Server] INFO at org.deeplearning4j.nn.conf.NeuralNetConfiguration$Builder.seed(NeuralNetConfiguration.java:683) ~[?:?]
09.12 18:17:31 [Server] INFO at KillAura.kMain.<init>(kMain.java:118) ~[?:?]
09.12 18:17:31 [Server] INFO at SAC.sac.<init>(sac.java:48) ~[?:?]
09.12 18:17:31 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:77) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO ... 6 more
09.12 18:17:31 [Server] INFO Caused by: org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException: Please ensure that you have an nd4j backend on your classpath. Please see: http://nd4j.org/getstarted.html
09.12 18:17:31 [Server] INFO at org.nd4j.linalg.factory.Nd4jBackend.load(Nd4jBackend.java:213) ~[?:?]
09.12 18:17:31 [Server] INFO at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:5481) ~[?:?]
09.12 18:17:31 [Server] INFO at org.nd4j.linalg.factory.Nd4j.<clinit>(Nd4j.java:215) ~[?:?]
09.12 18:17:31 [Server] INFO at org.deeplearning4j.nn.conf.NeuralNetConfiguration$Builder.seed(NeuralNetConfiguration.java:683) ~[?:?]
09.12 18:17:31 [Server] INFO at KillAura.kMain.<init>(kMain.java:118) ~[?:?]
09.12 18:17:31 [Server] INFO at SAC.sac.<init>(sac.java:48) ~[?:?]
09.12 18:17:31 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_191]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:77) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d"]
09.12 18:17:31 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[paper-1.8.8.jar:git-PaperSpigot-"4c7641d
编辑: 建立后登录
x86_64:3.4.3-1.4.3在有阴影的jar中。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica-platform:jar:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:android-arm:1.76.0-1.4.3。 [INFO]在阴影jar中包含org.bytedeco.javacpp-presets:leptonica:jar:android-arm64:1.76.0-1.4.3。 [INFO]在阴影jar中包含org.bytedeco.javacpp-presets:leptonica:jar:android-x86:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:android-x86_64:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:linux-x86:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:linux-x86_64:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:linux-armhf:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:linux-ppc64le:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:macosx-x86_64:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:windows-x86:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.bytedeco.javacpp-presets:leptonica:jar:windows-x86_64:1.76.0-1.4.3。 [INFO]在阴影jar中包括org.deeplearning4j:deeplearning4j-ui-components:jar:1.0.0-beta3。 [INFO]在阴影jar中包括org.datavec:datavec-hadoop:jar:1.0.0-beta3。 [INFO]在阴影jar中包括com.sun.xml.bind:jaxb-core:jar:2.2.11。 [INFO]在阴影jar中包括com.sun.xml.bind:jaxb-impl:jar:2.2.11。 [INFO]在阴影jar中包括io.netty:netty:jar:3.10.4.Final。 [INFO]在带阴影的jar中包括org.apache.zookeeper:zookeeper:jar:3.4.6。 [INFO]在阴影jar中包括jline:jline:jar:0.9.94。 [INFO]在阴影jar中包括junit:junit:jar:3.8.1。 [INFO]在阴影jar中包含org.datavec:datavec-api:jar:1.0.0-beta3。 [INFO]在阴影jar中包含org.jetbrains:annotations:jar:13.0。 [INFO]在阴影jar中包括commons-codec:commons-codec:jar:1.10。 [INFO]在阴影jar中包括joda-time:joda-time:jar:2.2。 [INFO]在有阴影的jar中包括org.yaml:snakeyaml:jar:1.12。 [INFO]在有阴影的jar中包括org.freemarker:freemarker:jar:2.3.23。 [INFO]在阴影jar中包括org.nd4j:nd4j-common:jar:1.0.0-beta3。 [INFO]在有阴影的jar中包含com.clearspring.analytics:stream:jar:2.7.0。 [INFO]在阴影jar中包括net.sf.opencsv:opencsv:jar:2.3。 [INFO]在阴影jar中包括com.tdunning:t-digest:jar:3.2。 [INFO]在阴影jar中包含it.unimi.dsi:fastutil:jar:6.5.7。 [INFO]在有阴影的jar中包括ch.qos.logback:logback-classic:jar:1.2.3。 [INFO]在有阴影的jar中包括ch.qos.logback:logback-core:jar:1.2.3。 [警告] nd4j-base64-1.0.0-beta3.jar,nd4j-api-1.0.0-beta3.jar定义了1个重叠的类:[警告]-org.nd4j.serde.base64.Nd4jBase64 [警告] maven-shade -plugin检测到两个或多个JAR中存在某些类文件[警告]。 发生这种情况时,仅将类的一个[警告]单版本复制到uber jar中。 [警告]通常这不是有害的,您可以跳过这些警告,[警告]否则,请根据[警告] mvn依赖项:tree -Ddetail = true和上述输出,尝试手动排除工件。 [警告]请参阅http://maven.apache.org/plugins/maven-shade-plugin/ [信息]附加阴影的工件。 [INFO] ----------------------------------------------- ------------------------- [INFO]成功建立[INFO] ----------------- -------------------------------------------------- ----- [INFO]总时间:01:44分钟[INFO]完成于:2018-12-10T21:13:33-05:00 [INFO]最终内存:43M / 447M [INFO] ---- -------------------------------------------------- ------------------
一开始还有更多,但是我不能在这里放。
创建一个uberjar并将其用于您的插件。 使用Maven Shade插件执行此操作: https : //github.com/deeplearning4j/dl4j-examples/blob/master/standalone-sample-project/pom.xml#L91
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.