当前位置: 首页 > 面试题库 >

类路径在Linux下不起作用

空英逸
2023-03-14
问题内容

任何人都知道为什么该命令在Windows中可以正常工作,但是在Linux中,我得到了ClassNotFoundException game.ui.Main

java -cp ".;lib/*" game.ui.Main -Xms64m -Xmx128m

我的文件夹结构如下:lib /-Jars游戏/-类文件

这是最新的Java 6。


问题答案:

类路径语法与操作系统有关。来自维基百科:

命令行Classpath语法与文件系统密切相关,取决于操作系统。例如:

在所有类似Unix的操作系统(例如Linux和Mac OS X)上,目录结构具有Unix语法,并用冒号(“:”)分隔单独的文件路径。

在Windows上,目录结构具有Windows语法,并且每个文件路径必须用分号(“;”)分隔。

当清单文件中定义了Classpath时,此方法不适用,其中每个文件路径都必须由空格(“”)分隔,而与操作系统无关。



 类似资料:
  • 我正在使用spring boot开发一个web-app,并在下面给出的application.properties文件中添加了上下文路径,但当我运行应用程序时,它不使用上下文路径。 “我在application.properties文件中添加了#context Path server.port=8085 server.servlet.context-path=/nvs-councellor” “当

  • 问题内容: 我试图了解类路径是如何工作的。在网上搜索之后,这是我到目前为止所到达的地方: 我已经添加了 在。顺便说一下,我正在运行Ubuntu。 Java找到路径并进行编译而没有问题。 问题是,如果我更改CLASSPATH,然后执行以下操作:,则不会应用新的CLASSPATH。当且仅当我重新启动系统时,它才适用。例如,如果我删除了 行,然后我执行/ etc / environment的源代码,最后

  • 我正在尝试为我正在编写的程序使用其他JAR。 我安装了所有必需的文件,并将它们添加到类路径中,但Java无法识别这些包。 我在jar位置之间加了分号,但Java无法识别jar中的包。为什么会这样? 例如,我的类路径如下所示: .; C:\Program Files(x86)\Java\jre7\lib\exts\QTJava.zip;C:\用户\JOE\下载\aseymock-3.2\asymoc

  • 我试图合并2个简单的程序。我想制作成一个。jar文件,这是我编写的代码:(Project1.jar和Project2.exe都打包到这个。jar中) 当我在eclipse中运行项目时,一切都很好(两个文件都像我想要的那样被执行)。但是当我将这个项目导出到。jar并运行它时,什么也没有发生。我认为它与文件路径有关,因为它在Eclipse中运行时工作得很好。怎么解决这个?

  • 一个Java代码如下: 如果我从扩展类路径中删除hello.jar,并将其复制到也包含rt.jar的引导类路径(usr/lib/jvm/java-8-openjdk-amd64/jre/lib/),那么我的程序就无法工作。 据我所知,引导程序或扩展类加载程序中的所有jar文件都可以在程序中使用。如果这个异常是正确的,为什么Java会抛出这个异常?如果我不正确,请指导我。

  • 问题内容: 我有以下结构 include.php文件具有以下内容 在index.php页面中,我包括了 当我打开页面index.php时,出现以下警告和致命错误。我不明白是什么原因导致此错误。当我给出绝对路径时,它可以工作。但是我相信绝对的路线不是一个好主意。 提前致谢 问题答案: 采用 获取脚本的当前路径,这应该可以解决您的问题。 所以: 这样可以防止您可以从其他文件夹运行PHP脚本的情况,因此