服务器和客户端之间的共享Jar文件 –NoClassDefFoundError【JAVA教程】

!
也想出现在这里? 联系我们
信息

服务器和客户端之间的共享Jar文件 –NoClassDefFoundError,第1张

概述服务器客户端之间的共享Jar文件 – NoClassDefFoundError

我运行一个需要发送和接收types为EventObject和PostObject的对象的debian java服务器(例如serializable)。 这些已被放置在一个.jar文件SharedModels.jar中,并在客户端和服务器上使用。

当试图在debian上编译时,我得到输出

ServerThread.java:10: error: package Models does not exist import Models.EventObject; ^ ServerThread.java:11: error: package Models does not exist import Models.PostObject; ^ Database.java:100: error: cannot find symbol ArrayList<PostObject> posts = new ArrayList<>(); ^

在windows上安装(Eclipse),使用

import Models.EventObject; import Models.PostObject;

工作正常(包括通过Eclipse的外部Jar)。

python模块安装错误:命令\’gcc\’失败,退出状态为1

如何检查,如果我达到了linux的X限制?

如何使Cmake包含gl / GL.h?

debian打包:dh build和dh二进制文件有什么区别?

Java内存错误:无法创build新的本地线程

我怎么才能让java明白,我想在Debian上使用这些类呢?

我已经将jar的位置添加到/ etc / environment中的类path中。

jar子的构造方式可能有问题吗? 例如它是由包含两个类的包组成的?

提前感谢和感谢

编辑:编译好,但是当方法被调用时,服务器不再承认类。 这是输出:

Exception in thread \”Thread-0\” java.lang.NoClassDefFoundError: Models/PostObject at server.Database.getposts(Database.java:101) at server.ServerThread.run(ServerThread.java:47) Caused by: java.lang.classNotFoundException: Models.PostObject at java.net.urlclassloader$1.run(urlclassloader.java:372) at java.net.urlclassloader$1.run(urlclassloader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.urlclassloader.findClass(urlclassloader.java:360) at java.lang.classLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.classLoader.loadClass(ClassLoader.java:357) … 2 more

我明白这是因为JVM在编译时识别类而不是在运行时期间。或者类path有问题。 实际.jar的名称是否需要有任何命名来包含包含的包? 我需要做什么来解决这个问题?

在Subversion Commit / USVN / RaspBerry Pi上发生500内部服务器错误

Debian7上启动Apache的XAMPP失败

而不是Glances,我错误地安装了openstack-glance

如何在linux上的/etc/ld.so.conf中获取path列表

Bash脚本debian安装程序不接受预先input的用户

不,罐子是便携式的,它们之间没有区别。 如果他们在windows上工作,他们也应该在linux上工作。

你的错误信息也非常清楚地表明,问题不是坏的jar,而是它不存在于你的类路径中。 在你的类路径设置中可能有一个微不足道的问题,可能是:

/etc/environment CLAsspATH语法是否有效? 在windows上,它必须分开: ,而在linux上有一个; 。

你包括你的jar的目录到你的类路径,而不是你的jar的完整路径?

/etc/environment仅在登录shell中设置,之后是否登录/注销?

无论如何,你可以给你的javac一个-verbose标志,它会显示,它试图从哪里加载你的罐子。

总结

以上是内存溢出为你收集整理的服务器和客户端之间的共享Jar文件 – NoClassDefFoundError全部内容,希望文章能够帮你解决服务器和客户端之间的共享Jar文件 – NoClassDefFoundError所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞174 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容