2011-03-21 125 views
1

我对JAVA很新颖。我写了简单的程序(在Linux -VIM编辑器中),编译并执行它,一切都很好。从不同目录编译java文件

现在,我已经将该文件移动到不同的目录,并试图编译(javac Myfile.java)它,但它会引发一条错误消息,如javac-not found

有人可以解释是什么问题?

+0

是你的路径中的javac吗? – Timo 2011-03-21 12:09:40

+0

是的,我猜...因为当我简单地创建一个java文件并使用javac myfile.java进行编译时,它的编译良好的 – kiddo 2011-03-21 12:15:35

+0

Classpath没有正确设置。核实。 – 2011-03-21 12:39:06

回答

1

你原来的问题不完全清楚(因为它没有包含完整的错误信息)。

从您的评论:

$ javac Example1.java 
javac: file not found: Example1.java 
Usage: javac <options> <source files> use -help for a list of possible options 

所以,javac的没有找到文件的Java示例。

通常,您不必设置CLASSPATH(在bash中使用export CLASSPATH=),并且javac将在当前目录中搜索源。您的Example1.java在当前目录中吗? (输入ls并查看输出。)

如果不是,则应该将该文件的路径作为参数指定给javac ...但它确实更好,因此只需移动到cd的正确目录即可。

如果您使用的是软件包,请将shell放在软件包目录层次结构顶部的目录中,然后使用相关文件名从此处调用编译器。


编辑,因为我看到了下一个问题来了:

  • 编译器将投入由-d参数给出的输出目录树所产生的类文件(或者当前目录,如果不给),通过它们的包结构,所以确保你稍后在调用程序时搜索它们。
  • 如果编译器需要其它类编译器在命令行所指示的文件,它搜索在类路径的类文件(由-classpath-cp选项给出,或由CLASSPATH环境变量,或者当前目录)和源源路径中的文件(如果没有设置源路径,则由-sourcepath选项给出或者类路径)。如果需要的话,两者都存在并且源文件更新,它也会被重新编译。 (它们也是根据封装结构进行搜索的。)

    所以在这种情况下,您应该确保通过-sourcepath选项,以便编译器可以找到其他源文件。

+0

是的,其实我试了一下,它的工作。 like javac /home/kiddo/myfikle.java – kiddo 2011-03-21 12:50:37

1

正确设置类路径和路径并检查其工作是否正常。

USAGE:
SET CLASSPATH=%<CLASSPATH>%
SET PATH=%<PATH_WHERE_JDKS_BIN_LOCATED>%

PATH环境变量必须指向JDK安装的bin目录...

USAGE:
Variable : JAVA_HOME
Value : C:\Program Files\Java\jdk1.5.0\bin;.
Variable: PATH
Value : C:\Program Files\Java\jdk1.5.0\lib

System Variables :

Value : %JAVA_HOME%\bin;

由于文件不在当前目录中做如下的提示
$cd home/kiddosr/Kiddo/Java_Programs/ and press enter
home/kiddosr/Kiddo/Java_Programs at this point of time type javac Example1.java

+0

- 应该是我的文件所在的目录..?例如/ home/kiddo/Java_pgms – kiddo 2011-03-21 12:13:57

+0

将路径正确设置为jdk安装的bin目录,它应该工作 – Deepak 2011-03-21 12:19:18

+0

FYI..am using Linux $ PATH =/home/jdk1.6.0_14/bin $ java -version java版本“1.6.0_14” Java™SE运行时环境(版本1.6.0_14-b08) Java HotSpot™服务器VM(版本14.0-b16,混合模式) $ CLASSPATH =/home/kiddosr/Kiddo/Java_Programs $ javac的Example1.java 的javac:未找到文件:Example1.java 用法:javac的<源文件> 使用-help为可能的选项 – kiddo 2011-03-21 12:23:07