Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从父目录执行Java程序_Java_Class_Compiler Construction_Classpath - Fatal编程技术网

如何从父目录执行Java程序

如何从父目录执行Java程序,java,class,compiler-construction,classpath,Java,Class,Compiler Construction,Classpath,我的目录结构如下: ./ +-- myClass | +-- MainClass.class | +-- dummy +-- DummyClass.class MainClass包含公共静态void main(字符串args[])并导入dummy.DummyClass 我用一个简单的命令编译,比如javacmyclass/MainClass.java dummy/DummyClass.java,一切都很好。但是当我尝试从./usingjavamyclass.MainCla

我的目录结构如下:

./
 +-- myClass
 |   +-- MainClass.class
 |
 +-- dummy
     +-- DummyClass.class
MainClass包含
公共静态void main(字符串args[])
并导入dummy.DummyClass

我用一个简单的命令编译,比如
javacmyclass/MainClass.java dummy/DummyClass.java
,一切都很好。但是当我尝试从./using
javamyclass.MainClass
执行它时,我得到了“找不到主类”错误

如果我使用-cp选项更改类路径,那么MainClass将无法再找到DummyClass

有什么提示吗


非常感谢;)

MainClass是否在顶部有以下内容:
package myClass


这是类被视为包的一部分所必需的,只有这样它才能被正确地称为
myClass.MainClass
-目录结构必须镜像pacakge结构。

这应该适用于您:

主要类别:

包myClass

进口假人,假人

公共类主类{

爪哇 公共静态void main(字符串[]args){

}

假人:

包装假人

公共类虚拟{

public void exec(){

    System.out.println("This is the dummy class exec invocation");

}
}

在根文件夹的命令行中:

javac myClass/MainClass.java dummy/dummy.java

  • 这将导致类被编译
这将执行并调用main类中的“main”:
javac myClass/MainClass.java dummy/dummy.java

好吧,我真傻:我忘了在MainClass中写它了。谢谢你,伙计;)
public void exec(){

    System.out.println("This is the dummy class exec invocation");

}