【问题标题】:OSX / Eclipse / JDK / Can't run HelloWorld from bashOSX / Eclipse / JDK / 无法从 bash 运行 HelloWorld
【发布时间】:2015-10-08 16:23:45
【问题描述】:

我正在尝试重新在 OSX 10.9.5 上进行 Java 开发,但在让一个简单的程序在命令行上运行时遇到了一个非常基本的问题。

我安装了最新的 JDK:

$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)**

我已经安装了 Eclipse,版本:Luna Service Release 2 (4.4.2)

我在 Eclipse 中创建了一个简单的 Java 程序,并将其配置为使用我安装的 JRE 版本 1.8.0_45。

我可以在 IDE 中从这个项目运行一个简单的 HelloWorld 程序:

package repotools.repotool;

public class RepoToolApp
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

它在 Eclipse 控制台中显示预期的输出。

我无法从我的 bash shell 中运行它。当我尝试运行它时,出现常见错误:

$ ls
RepoTool.class      RepoToolApp.class
$ java RepoToolApp
Error: Could not find or load main class RepoToolApp
$ java -cp ./ RepoToolApp
Error: Could not find or load main class RepoToolApp
$ export CLASSPATH=.
$ java RepoToolApp
Error: Could not find or load main class RepoToolApp
$

我没有 .bashrc 文件,但似乎我可以很好地执行 java 和 javac,因为它们在我的路径中。默认没有设置CLASSPATH,但我的理解是应该没有问题。

知道我可能缺少什么吗?

非常感谢!

【问题讨论】:

  • cd ../..,到repotools/repotool上面的目录,然后运行java repotools.repotool.RepoToolApp

标签: java eclipse macos bash classpath


【解决方案1】:

您执行java 的目录应该是包含包含该类的包的根目录的目录。在这种情况下:

$ cd ../..
$ java repotools.repotool.RepoToolApp

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html:

默认情况下,第一个不带选项的参数是要调用的类的名称。 应使用完全限定的类名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2020-06-18
    • 2017-05-28
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多