【问题标题】:Using terminal to run java files使用终端运行java文件
【发布时间】:2013-07-16 03:30:22
【问题描述】:

我在 Mac 上工作,并使用 xcode 来保存我的 java 文件。我有一个在 netbeans 中运行没有错误的文件。该文件在同一文件夹中有另一个文件作为子类。当我在终端中运行文件时,我怀疑子类文件没有运行,因为出现了多个找不到符号错误。任何想法为什么?我使用 cd 命令调用该文件,直到到达包含文件的文件夹。然后我使用 (javac -classpath "filename.java") 运行该文件。

【问题讨论】:

标签: java macos terminal


【解决方案1】:

我 Mac 上的一个简单示例,可能对您有所帮助。

我的目录中的文件列表:

$ ls *.java
Child.java   Driver.java  Parent.java

显示所有三个文件的内容:

$ cat *.java
// file Child.java
public class Child extends Parent {
    public Child() {
        System.out.println("  I'm the Child...");
    }
}

// file Driver.java
public class Driver {
    public static void main(String[] args) {
        Parent parent = new Parent();
        parent.hello();
        Child child = new Child();
    }
}

// file Parent.java
public class Parent {
    public Parent() {
    }
    public void hello() {
        System.out.println("Hello from the parent.");
    }
}

将3个Java源文件全部编译成字节码:

$ javac *.java

调用Java VM执行主入口点:

$ java Driver
Hello from the parent.
  I'm the Child...

【讨论】:

  • 我需要 ls 命令至少显示两个文件都在加载。我需要查看终端的命令列表。编译文件后,我收到一条注释,指出该文件使用了未经检查或不安全的操作,我不明白,因为 Netbeans 没有问题。要求使用 -Xlint 重新编译。更进一步,尝试调用 java VM 但返回找不到或加载主类驱动程序。
  • 您是否尝试使用 Xlint 进行编译以查看其内容?它应该看起来像“$ javac -Xlint *.java”。
  • 这是 Xlint 回来的。我现在正在看它,以使其成为头脑或故事。 TotalComp.java:49:警告:[rawtypes] 找到原始类型:ArrayList ArrayList al1 = new ArrayList(); ^ 缺少泛型类 ArrayList 的类型参数,其中 E 是类型变量:E 扩展类 ArrayList 中声明的对象
猜你喜欢
  • 2015-08-19
  • 2021-09-20
  • 2012-06-29
  • 2014-11-08
  • 1970-01-01
  • 2015-04-15
  • 2014-09-19
  • 2017-12-05
  • 2015-06-24
相关资源
最近更新 更多