java - NoClassDefFoundError 在 Linux 上运行 .jar

标签 java linux class ubuntu classpath

我在 ubuntu 上运行我在 Windows 上制作的 .jar 时遇到问题。 我不是真正的 linux 用户,我更喜欢从 Windows eclipse 构建我的代码,然后在 linux 上进行测试。 当我在 linux 中执行我的 jar 时,由于缺少 .jar 引用(我使用 gson 库类将一些字符串转换为 json),我得到以下异常。

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/Gson ...
Caused by: java.lang.ClassNotFoundException: com.google.gson.Gson

现在,在网上进行一些研究后,我发现类路径目录在哪里,并将 gson.jar 复制到该文件夹​​中,无论如何我仍然遇到错误,此时我对所有类路径的事情感到很困惑。

有人可以帮帮我吗?

最佳答案

如果您使用 list 文件来运行 jar,请务必在 list 文件中指定类路径。 类路径:LocationToGson.jar/gson.jar。 此外,请注意类路径定界符在 Windows 和 Linux 上的 Java 不同这一事实。在 Linux 中,java 类路径分隔符是 ':'

关于java - NoClassDefFoundError 在 Linux 上运行 .jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16801608/

相关文章:

java - hibernate.cfg.xml 在项目中的位置?

java - 拆箱如何在短路 boolean 表达式中工作?

linux - 计算文本文件中的列数后删除行

Java - Class.isInstance() 总是返回 false

class - 在基础 5 中为元素提供类以设置它们的样式

java - 如何在接口(interface)更改时最小化要修改的类数

java - 相当于DefaultTableModel中JTable的getSelected列方法

sql-server - 如何从 Azure SQL 数据库复制到本地 ubuntu 计算机?

linux - Mercurial 忽略 LInux 上的创建/修改日期更改

PHP:如何在类中创建动态变量