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

classpath不默认为当前目录

柳经纶
2023-03-14
问题内容

我用Java编写并编译了一个简单的Hello World程序,但是当我尝试运行该程序时,却收到了错误消息Error: Could not find or load main class Hello。只有在我执行命令后java -cp . Hello,它才能成功运行。

奇怪的是,当前目录似乎已经是类路径的一部分。剧本

class CheckClassPath{
    public static void main(String args[]){
        System.out.println(System.getProperty("java.class.path"));
    }
}

打印.,尽管我再次必须显式设置该classpath选项。

有谁知道为什么会这样?我正在使用Ubuntu 16.04和open-JDK版本1.8。


问题答案:

我希望CLASSPATH已经设置了环境变量。运行echo $CLASSPATH以查看其设置。

如果您不使用该-jar选项,则:

  • 如果存在,则-cp指定类路径
  • 否则,如果CLASSPATH在环境中设置,则指定类路径
  • 否则,默认的类路径为“。” 用来。


 类似资料:
  • 我正在写报告。现在我有一个jrxml文件,我必须加载它,以便我可以解析它。然而问题是我想直接加载文件与它的名字 但是我无法找到我应该把文件放在我的项目中的哪里,以便上面的路径有效。在简单的java项目中,我们只是把我们想要的文件放在src文件夹所在的项目文件夹中,但它在vaadin项目中不起作用。那么我应该把我的文件放在哪里。 谢谢。

  • 我的Jupyter笔记本电脑有一个默认目录,我把它放在Jupyter设置中。所以默认情况下,jupytr lab命令在我需要的地方启动我的Jupyter。 然而,有时我处理不同的项目,从命令行在当前工作目录中启动Jupyter很方便。 有没有一个简单的命令可以这样做? 类似问题:更改IPython/Jupyter笔记本工作目录

  • 我创建迁移是这样的: 然后我添加了一些列,比如: 然后: 这将创建表,然后在类别中插入: 这将插入行,但在列创建的 处创建的

  • 我将测试应用程序的外部配置。什么是spring boot Gradle bootRun任务的默认类路径和默认工作目录? 我不是从: http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-running-your-application.html https://docs.spring.io/spring-b

  • 问题内容: 如何在MySQL中使列的默认值等于当前日期+ 30天?例如,如果当前日期为10-1-2011,则必须将列值插入为9-2-2011。 问题答案: 如果您使用的是MySQL> = 5.0,请使用触发器: 当您插入时,触发器将激活,设置为现在+ 30天。如果您的插入内容设置了日期,由于,它将覆盖该默认值。日期是使用计算的。