【问题标题】:Java command terminalJava 命令终端
【发布时间】:2016-01-27 10:16:49
【问题描述】:

好的,所以我正在尝试运行我的 java 文件,但它并没有从终端执行我想要的操作。

我有一个名为 packageTester 的主目录。

packageTester 包含 src 和 bin

src 有 packageA packageB

pacakgeA 有 HelloA.java packageB 有 HelloB.java

bin 有我的类文件,所以

bin 有 packageA packageB

pacakgeA 有 HelloA.class packageB 有 HelloB.class

为了编译文件,我在 pacakageTester 目录中使用了以下命令: javac -d bin -sourcepath source src/package*/* ,有效!

现在我该如何运行 HelloB.class,它包含 main 方法并有一个 HelloA 对象。

我想当在 packageTester 目录时,我可以这样做: java bin/packageB/HelloB 但这不起作用,因为它似乎找不到 .class 文件。 HELP 将不胜感激找出如何正确执行文件

【问题讨论】:

  • java packageB.HelloB ?
  • 如果我 cd 进入 bin 文件夹,这可以工作:java packageB/HelloB 但是如果我不在 packageTester 目录中,为什么它不起作用?那么:java bin/packageB/HelloB ?
  • 您使用哪个命令来执行您的课程?你能发布例外吗?
  • 嘿朱利安。刚刚回答了上面的1个帖子。 Abhinavs-MacBook-Pro:packageTester tactician$ java bin/packageB/HelloB Error: Could not find or load main class bin.packageB.HelloB Abhinavs-MacBook-Pro:packageTester tactician$ 即来自 packageTester 目录;但是,如果我在 bin 目录中,它可以工作

标签: java


【解决方案1】:

bin 的根应该在您的类路径中,以便在解析类路径时将 packageB.HelloB 找到为 packageB/HelloB.class

最简单的方法是将目录更改为bin,然后从那里执行java packageB.HelloB

或者,您可以从您的packageTester 目录执行java -cp bin packageB.HelloB,如果您将bin 替换为绝对路径,则可以从其他位置执行。

【讨论】:

  • 你好,先生!我试图找到一种方法来简单地留在 packageTester 中并从那里编译/运行文件。谢谢!
  • @AbhinavRana 不客气!如果它完全解决了您的问题,请接受答案。
猜你喜欢
  • 2014-12-15
  • 2015-06-23
  • 2015-01-27
  • 2020-09-16
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
相关资源
最近更新 更多