在Mac上编译和运行Java程序

时间:2012-01-18 21:30:35

标签: java macos compiler-construction

这是一个非常基本的问题,但我无法在任何地方找到答案。我是Java的新手。

github上有一个Java程序,我正试图在我的Mac上运行。相关文档未提供有关编译或运行代码的任何信息。我不想更详细地披露我正在尝试运行的具体程序。

该程序包含多个.java文件和一个classmexer.jar文件,用于跟踪内存使用情况。还有一个子文件夹cern,其中包含最终包含.class个文件的其他子文件夹。没有makefile。

我已将所有源代码作为tar.gz文件下载并将其解包到~/codeDirectory/中。当我尝试使用

从此目录编译时

$ javac *.java

$ javac A.java

(其中A.java是程序调用的第一个类),我得到了几十个编译错误。这段代码清楚地在其他地方成功编译,所以我不确定该怎么做。

出现的第一个错误是

A.java:5: cannot access cern.colt.function.DoubleFunction
class file for cern.colt.function.DoubleFunction not found
    cern.jet.random.AbstractDistribution.makeDefaultGenerator();
                                        ^
./B.java:4: package com.javamex.classmexer does not exist
import com.javamex.classmexer.*;
^
./B.java:180: cannot find symbol
symbol  : variable MemoryUtil
location: class B
        long noBytes = MemoryUtil.deepMemoryUsageOf(hp);
                       ^

我怀疑某处有一条不正确或错误的特定路径,但我找不到它。

提前感谢您提供任何帮助疑难解答。

2 个答案:

答案 0 :(得分:4)

如果您从github下载了一个Java程序,几乎可以肯定它附带了一个用于Apache Ant的build.xml,或者一个用于Apache Maven的pom.xml,或者用于其他一些构建的其他文件工具。通常,github上的代码库将提供文档,告诉您使用什么工具以及如何使用它。

答案 1 :(得分:0)

我试图运行的程序不完整,并且没有包含两个依赖项的源代码(包括编译器在上面标记的colt)。感谢Anony-Mousse建议这个选项。安装所有必要的源代码解决了这个问题;开发人员还更新了文件。