如何在Mac上用Java编译和运行程序?


99

如何在Mac上用Java编译和运行程序?

我是新来的。

我还下载了一个建议给我的程序,叫做wrangler(文本牧马人),如果有影响的话。

Answers:


189

在Mac OSX或任何主要操作系统上编译和运行Java应用程序非常容易。Apple随OSX一起提供了一个功能齐全的Java运行时和开发环境,因此您要做的就是编写Java程序并使用内置工具来编译和运行它。

编写您的第一个程序

第一步是编写一个简单的Java程序。打开一个文本编辑器(内置的TextEdit应用程序可以正常工作),键入以下代码,然后在主目录中将文件另存为“ HelloWorld.java”。

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

例如,如果您的用户名是David,请将其另存为“ /Users/David/HelloWorld.java”。这个简单的程序声明了一个名为的类HelloWorld,并带有一个名为的方法main。该main方法在Java中是特殊的,因为它是Java运行时在告诉其执行程序时将尝试调用的方法。可以将其视为程序的起点。该System.out.println()方法将在屏幕上显示一行文本“ Hello World!”。在这个例子中。

使用编译器

现在,您已经编写了一个简单的Java程序,您需要对其进行编译。运行“应用程序/实用程序/Terminal.app”中的终端应用程序。在终端中输入以下命令:

cd ~
javac HelloWorld.java

您只是在OSX上编译了第一个Java应用程序(尽管很简单)。编译过程将产生一个名为“ HelloWorld.class”的文件。该文件包含Java字节码,这是Java虚拟机可以理解的指令。

运行程序

要运行该程序,请在终端中键入以下命令。

java HelloWorld

此命令将启动Java虚拟机并尝试加载名为的类HelloWorld。一旦加载了该类,它将执行main我前面提到的方法。您应该看到“ Hello World!” 打印在终端窗口中。这里的所有都是它的。

作为附带说明,TextWrangler只是OSX的文本编辑器,与这种情况无关。在此示例中,您可以将其用作文本编辑器,但是当然没有必要。


发生这种情况:上次登录:ttys000上的星期一Mar 1 23:41:53 david-allenders-macbook-pro:〜davidallender $ cd〜david-allenders-macbook-pro:〜davidallender $ javac Helloworld.java错误:无法读取:Helloworld .java 1错误david-allenders-macbook-pro:〜davidallender $我做错了什么?
David

1
看起来您将文件保存在错误的目录中,或者使用了错误的文件名保存了该文件。在查找器中仔细检查您的主目录,查找名为“ HelloWorld.java”的文件。大小写在这里也很重要,因此请确保将其称为“ HelloWorld.java”,而不是 “ Hello w orld.java”。
威廉·布伦德尔

好。我更好地按照了您的指示,一切正常。谢谢您的帮助。我真的很感激。
大卫2010年

每个程序都在Java .class文件中吗?我从未见过OSX或PC。还有另一种方法可以编译该程序,以便大多数人可以使用它吗?
Steve Chamaillard

我遇到的问题是textEdit自动将文件另存为.rtf(富文本格式),并且不允许.java。解决此问题的方法是在textEdit do format> makePlainText中。
刘易斯·布莱克

6

我将为您提供编写和编译代码的步骤。使用以下示例:

 public class Paycheck {
    public static void main(String args[]) {
        double amountInAccount;
        amountInAccount = 128.57;
        System.out.print("You earned $");
        System.out.print(amountInAccount);
        System.out.println(" at work today.");
    }
}
  1. 将代码另存为 Paycheck.java
  2. 转到终端并输入 cd Desktop
  3. 类型 javac Paycheck.java
  4. 类型 java Paycheck
  5. 享受您的程序!

1
仅供参考,如果您在文件顶部具有包名称(并且您正在运行单个Java文件),则会看到Error: Could not find or load main class <package name>。在这种情况下,只需在开始处添加两个斜杠即可对软件包进行注释
kurdtpage '18

3

下载并安装Eclipse,一切顺利。
http://www.eclipse.org/downloads/

Apple提供了自己的Java版本,因此请确保它是最新的。
http://developer.apple.com/java/download/


Eclipse是一个集成的开发环境。它具有许多功能,但是在此阶段与您相关的功能是:

  • 源代码编辑器
    • 具有语法突出显示,颜色和其他视觉提示
    • 轻松交叉引用文档以促进学习
  • 编译器
    • 一键运行代码
    • 随时获得错误/错误的通知

随着您获得更多的经验,您将开始欣赏其丰富功能的其余部分。


7
@David From Dictionary,“一个天体的光被另一个天体在其与观察者之间或在它与它的照明源之间的通过所遮蔽:太阳的日食”。但是在这种情况下,这是用于JAVA开发的出色IDE。
rptwsthi

您还可以使用NetBeans作为替代方案
kurdtpage '18

1

您需要确保计算机上存在与Mac兼容的Java版本。从终端进行java -version检查。如果不是,请从apple网站下载apple jdk。(IIRC自己没有为苹果生产苹果。)

从那里开始,遵循在任何其他平台上用于Java的编译程序相同的命令行说明。


1
@rob,我认为您低估了我的最新能力。您能更简单地解释一下吗?
大卫

0

其他解决方案足以回答您的查询。但是,如果您只想寻找一个命令为您执行此操作-

在Java文件所在的目录中创建一个文件名称“ run”。并将其保存在您的文件中-

javac "$1.java"
if [ $? -eq 0 ]; then
  echo "--------Run output-------"
  java "$1"
fi

通过运行-授予此文件运行权限-

chmod 777 

现在,您只需运行以下命令即可运行任何文件:

./run <yourfilename> (don't add .java in filename)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.