如何运行不同目录下的java类文件?

时间:2014-08-11 06:53:29

标签: java class

目录路径:

c:\home\test\src\com\bsoft\conc

我在src文件夹中有我的java程序,我在conc文件夹中有我的类文件。 我需要从home文件夹运行我的java程序。当我运行时我得到错误:

could not find or load main class

6 个答案:

答案 0 :(得分:9)

设置此java文件的类路径:

java -cp C:\hello\build\classes com.javahowto.test.HelloWorld 

或使用环境变量并从该计算机的任何第三个位置运行它。

答案 1 :(得分:5)

现在是时候阅读classpath(告诉java编译器在哪里查找要运行的类文件的方法)。 基本上有两种方法来设置类路径

  1. 环境变量CLASSPATH有':' unix中的单独目录和&#39 ;;' Windows中分隔的目录
  2. -classpath-cp命令行arg到javac命令
  3. 完整参考并阅读以下链接
    http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

答案 2 :(得分:3)

在我的程序中 com.bsoft.conc 是一个包名,其中将存储已编译程序的类文件。如果我必须从 home 文件夹运行它我们必须指明 java -classpath test \ src com.bsoft.conc。" class-file-name"

这是因为我们需要告诉JVM它必须在哪里查找类文件。

所以,我们必须使用" test \ src" 指定导航到src,然后 类文件位置" com.bsoft.conc.class-file-name"

如果您在高级设置中设置了环境变量,那么如果您在cmd中指定classpath,它也将被覆盖

答案 3 :(得分:2)

我遇到了类似的问题,我试图运行一个Java程序来调用另一个目录中的类中的方法。我阅读了这个页面并将目录添加到了我的类路径中,但我错误地使用了' '在Bash中表示' / home / user / '。

所以这个命令不起作用

  

java -classpath~ / CurrentDirectory:OtherDirectory program

但是这个命令确实

  

java -classpath / home / user / CurrentDirectory:OtherDirectory program

答案 4 :(得分:0)

这里的答案与空间问题无关。

如果您的路径中有空格,您必须将其包装在引号内,否则会显示错误:

C:
 Program Files
    MyProject
       src
         testpackage
             Test.java
       target
         classes
             testpackage
                 Test.class
package testpackage;

public class Test  {
  public static void main(String[] args)  {
    System.out.println("Test");
  }
}
java -cp "C:\Program Files\MyProject\target\classes" testpackage.Test

答案 5 :(得分:0)

在Linux中(没有将它们视为包的简单方案)

   > parent
         |
         |- stdlib
         |      |
         |      -Library.java
         |- Main.java

从父计算机编译> javac -cp ./stdlib:Main.java

从父母运行> java -cp ./stdlib:Main