如何从父目录执行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
,一切都很好。但是当我尝试从./usingjavamyclass.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");
}