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

为什么出现此javac:“找不到文件”错误?

唐和洽
2023-03-14
问题内容

在CentOS 5
linux上使用一些基本的Java应用程序,我已classpath设置为指向home/pathToJava/bin其中包含javacjava

我有.java文件home/pathToFolderA/src

home/pathToFolderB/gen-java

当我运行javac,并javahome/pathToFolderA/src一切完美

但是,当我运行javac从内home/pathToFolderB/gen-javafileName.java我得到一个文件未找到错误,特别是

javac: file Not found: fileName.java
Usage: javac <options> <source files>

为什么会这样呢?

感谢所有帮助


问题答案:

您不应将 类路径 设置为指向您的JDK bin目录-而是应该是 PATH
环境变量,它与类路径的作用不同。(classpath定义了包含已编译的Java .class代码的jar和目录的列表;
PATH变量定义了路径的列表,外壳程序需要在其中查找和定位在当前目录中找不到它们时要执行的程序,因此,如果您例如zip- 类型-
它将查找其中定义的所有目录,PATH并找出该zip程序位于/usr/bin)。其次,如果要从这两个目录编译源,则需要指定:

  • 来源所在的所有路径(home/pathToFolderA/srchome/pathToFolderB/gen-java
  • 生成编译的.class文件的路径
  • 在类路径中指定您可以在源文件中使用的任何库

总结起来,编译起来会像这样:

javac -d /home/pathToFolderWithResultsOfCompilation -classpath /path/to/some.jar:/path/to/another.jar home/pathToFolderA/src/*.java home/pathToFolderB/gen-java/*.java

并运行您的编译程序:

java -classpath /path/to/some.jar:/path/to/another.jar:/home/pathToFolderWithResultsOfCompilation full.name.of.your.Java


 类似资料:
  • 这也是基于我的最后一个问题。 按照本教程,我将项目克隆到我的机器中,并试图让项目正确构建。 在修复我在上一个问题中得到的错误的过程中,我遇到了一个新的错误。 这是我正在尝试修复/编辑的构建脚本的部分 按照如何检查Gradle版本的说明,我检查了我的版本,发现我正在运行Gradle版本2.2.1。基于此,我改变了 到 然而,在更改构建脚本代码并尝试重建我的项目后,我得到了上面提到的错误(下面是完整的

  • 问题内容: 我在当前工作目录上有文件,但是javac报告: 我正在研究ubuntu。 问题答案: 从上面的评论看来,您尝试过: 在您的Ubuntu系统上。该分离器是在UNIX系统上的Windows。 Ubuntu考虑了直到的命令,因此给出了消息。 应该编译好。

  • 我有一个爪哇项目。它由以下层次结构组成: 项目: < li >服务器(包含server.java) < li >客户端(包含client.java) < li >协议(包含中的消息类型。java文件) 我正在用Eclipse运行这个项目。我已经到了需要用终端测试的地步。我如何使用 build.xml 文件来格式化它,以便每当我将其从 Eclipse 中取出并在服务器中运行时,它都能正常工作,但在上

  • 问题内容: 我正在尝试使用DB2运行一个简单的SQL语句,并且遇到了一些问题。我想在txt / db2文件中有一个脚本,并让引擎处理所有命令 这是脚本: 当我运行db2 -f / pathtofile时,我得到: 我究竟做错了什么?我的脚本有问题吗?另外,为什么没有“;”也能正常工作 我的陈述结尾处的终止符? 谢谢, 问题答案: 可能会有帮助, http://www.uc.edu/R/r25/do

  • 问题内容: 我正在尝试打开一个保存在源文件夹本身中的CSV文件名“ logger.csv”。 但是,这一直在给我一个“找不到文件”错误。 问题答案: 如果您现在就使用相对路径,则该文件需要存在于项目根目录中, 而不是 存在于java文件的目录中。 考虑以下层次结构: 不管用。 将 现在 的工作。(注意,该文件与src目录相邻。)

  • 我正在尝试使用GitHub将Gradle Java应用程序部署到Heroku。回购协议的名称是“v-m-test”。这是我目前使用的Procfile:web:java-jar-target/v-m-test。罐子这是错误的文件吗?