如何编译和 运行 两个不同的 java 程序,其中一个程序的实例位于不同目录中的另一个程序中?
how to compile and run two different java programs with instances of one in another which are in different directories?
我的第一个 java 程序是
import java.io.*;
class pgm10a
{
public static void main(String args[])
{
pgm10b b=new pgm10b();
b.display();
}
void display()
{
System.out.println("A class");
}
}
保存在C:\NNK\pack1
第二个节目是
import java.io.*;
class pgm10b
{
void pgm10b()
{
pgm10a a=new pgm10a();
a.display();
}
void display()
{
System.out.println("Class B");
}
}
它在 C:\NNK\pack2
我想 运行 pgm10a 但它一直显示 pgm10b not found 异常。我已经设置了 class 路径并为两者编译并且都编译成功。但是当我尝试 运行 它们时,它显示找不到 pgm10b。
看看 syntax for the java
command:
java [options] classname [args]
class 名称后的任何内容都不是 java 命令的选项——它只是按原样在字符串数组中传递给程序的 main
方法。
您可以通过更改最终命令来解决您的问题:
java pgm10a -cp C:\NNK\pack2
对此:
java -cp .;C:\NNK\pack2 pgm10a
class路径是一系列目录,在Windows中的运行时由;
分隔(在其他操作系统上为:
),其中告诉 java 命令在哪里可以找到已编译的 classes。如果您只指定 C:\NNK\pack2
,Java 将只能在该目录中看到 classes。句点 (.
) 指的是当前目录,所以上面的 class 路径同时指向当前目录(包含 pgm10a)和 pack2 目录(包含 pgm10b)。
我的第一个 java 程序是
import java.io.*;
class pgm10a
{
public static void main(String args[])
{
pgm10b b=new pgm10b();
b.display();
}
void display()
{
System.out.println("A class");
}
}
保存在C:\NNK\pack1 第二个节目是
import java.io.*;
class pgm10b
{
void pgm10b()
{
pgm10a a=new pgm10a();
a.display();
}
void display()
{
System.out.println("Class B");
}
}
它在 C:\NNK\pack2 我想 运行 pgm10a 但它一直显示 pgm10b not found 异常。我已经设置了 class 路径并为两者编译并且都编译成功。但是当我尝试 运行 它们时,它显示找不到 pgm10b。
看看 syntax for the java
command:
java [options] classname [args]
class 名称后的任何内容都不是 java 命令的选项——它只是按原样在字符串数组中传递给程序的 main
方法。
您可以通过更改最终命令来解决您的问题:
java pgm10a -cp C:\NNK\pack2
对此:
java -cp .;C:\NNK\pack2 pgm10a
class路径是一系列目录,在Windows中的运行时由;
分隔(在其他操作系统上为:
),其中告诉 java 命令在哪里可以找到已编译的 classes。如果您只指定 C:\NNK\pack2
,Java 将只能在该目录中看到 classes。句点 (.
) 指的是当前目录,所以上面的 class 路径同时指向当前目录(包含 pgm10a)和 pack2 目录(包含 pgm10b)。