当前位置: 首页 > 知识库问答 >
问题:

如何在cmd行中运行java类文件

章哲茂
2023-03-14

我的两门课是这样的:

package p;
class A{
  public static void main(String[] args){
    B b = new B("haha");
    b.run();
    //System.out.println("he");
  }
}

package b;
class B{
  String s;                             
  public B(String s){   
    this.s = s;
  }                             

  public void run(){
    System.out.println(s);              
  }                                     
}

我无法使用javac a.java b.java编译这两个文件,错误是:

a、 java:4:找不到symbol
symbol:B类位置:p.a类
B类B=新B(“哈哈”)
^
a.java:4:找不到符号
符号:B类
位置:p.a类
B类=新B(“哈哈”)
^
2个错误

移除包装p后 javac a.java b.java运行良好。

那么,我如何用包p编译和运行类A

======编辑=======
谢谢你的回复,最后我通过这样改变我的文件来运行我的类:

.
├── b

a.java:

package p;

import b.B;

class A{
  public static void main(String[] args){
    B b = new B("haha");
    b.run();
    //System.out.println("he");
  }
}

B.java:

package b;
public class B{
  String s;
  public B(String s){
    this.s = s;
  }

  public void run(){
    System.out.println(s);
  }
}

事情需要注意:

  • B类必须是公开的
  • 当尝试在类A中使用时应该导入B

共有3个答案

朱海超
2023-03-14

下面的代码将工作。

//B.java

package b;

public class B{

  String s;

  public B(String s){

   this.s = s;

  }

  public void run(){
    System.out.println(s);
  }
}


//A.java

package p;

import b.B;

class A{

  public static void main(String[] args){

B b = new B("haha");

b.run();

  }

}

运行“java p.A”

卓致远
2023-03-14

将这一行添加到A类代码中:

import b.B;

它应该是包声明之后的下一行代码。

翟京
2023-03-14

您需要导入类型

import b.B;

执行java类时

goto dir a

并且做

java a.A

看见

  • 包裹
 类似资料:
  • 我有一个多线程程序,可以导入JSON,我想通过CMD运行它,但现在我不能,因为它说它没有导入。 如何解决这个问题,以便我可以始终在CMD上运行程序,而无需在运行时进行额外的键入;即,只是javacprogram.java和javaprogram.java

  • (我是java BTW的新手!)

  • 问题内容: 我有两个如下的Java类 没有包装: 在包装中: 我可以同时编译它们: 但是,我只能运行第一个: 我该如何跑步? 问题答案: 如果将 源 放在与包名称()相匹配的适当目录层次结构中,并从层次结构的根目录()进行编译/运行,则不会出现此问题: 您还可以使用选项进行编译,以便将类移动到这样的目录层次结构中: 请注意,您不应使用以开头的程序包名称,JDK的更高版本将引发SecurityExc

  • 问题内容: 当我将其作为a的一部分并尝试从cmd运行它时,我不断收到错误消息。 这是先使用后再使用java 的代码: 然后无效的代码: 在尝试通过命令运行程序后给了我这个错误: 到目前为止,这是我尝试过的操作: 请记住,返回没有错误,只需删除即可解决问题。有时在其他情况下,我会收到一条错误消息,提示找不到主类文件或类似的内容。 我究竟做错了什么? 问题答案: 假设您在中,并且在中,然后键入:

  • 所以我在eclipse中设置了一个基本的你好世界,我可以很容易地使用cmd编译它(我已经设置了所有必要的路径),但是当我尝试使用java命令来执行你好世界时,它总是返回相同的错误:错误:无法找到或加载主类helloWorld引起的:java.lang.NoClassDefFoundError: net/codejava/helloWorld(错误的名称:helloWorld) 以下是使用的代码:

  • 我有一个从Eclipse导出的jar文件(Runnable JAR 在java中,如果在清单中设置主类。可以运行的xml: 如果您想在jar文件中运行另一个主类,或者如果您没有在清单中设置主类。可以运行的xml: 在Hadoop中,如果在清单中设置了main类。可以运行的xml: 如果您键入: 它将MyOtherMainClass视为jar原始主类的“args”数组中的参数(而不是要运行的类)。