在Mac上编译和运行Java程序

在Mac上编译和运行Java程序,java,macos,compiler-construction,Java,Macos,Compiler Construction,这是一个非常基本的问题,但我一直没有找到答案。我对Java完全陌生 github上有一个Java程序,我正试图在Mac上运行它。相关文档未提供有关编译或运行代码的任何信息。我宁愿不透露任何更多的细节,我正在试图运行的具体程序 该程序包含多个.java文件和一个classmexer.jar文件,用于跟踪内存使用情况。还有一个子文件夹,cern,其中包含最终包含.class文件的其他子文件夹。没有生成文件 我已将所有源代码作为tar.gz文件下载,并将其解压缩到~/code目录/。当我试图用 $ja

这是一个非常基本的问题,但我一直没有找到答案。我对Java完全陌生

github上有一个Java程序,我正试图在Mac上运行它。相关文档未提供有关编译或运行代码的任何信息。我宁愿不透露任何更多的细节,我正在试图运行的具体程序

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

我已将所有源代码作为tar.gz文件下载,并将其解压缩到
~/code目录/
。当我试图用

$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);
                       ^
我怀疑某处有一条不正确或不正确的特定路径,但我一直未能找到它


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

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

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

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

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

自述文件中没有*.xml文件或任何有关编译的信息。只有这些.java文件和一个jar。我会对github在那种状态下留下的任何代码的质量产生严重怀疑。因此,您必须学会自己使用ant或maven(或Eclipse或IntelliJ)。这是开发人员的第一次提交,所以听起来我应该就此联系他。我会调查你提到的节目。非常感谢。(当我从开发人员那里得到更多信息时,我会接受你的回答。)自述文件中没有*.xml文件或任何关于编译的信息。只有这些.java文件和一个jar。我会对github在那种状态下留下的任何代码的质量产生严重怀疑。因此,您必须学会自己使用ant或maven(或Eclipse或IntelliJ)。这是开发人员的第一次提交,所以听起来我应该就此联系他。我会调查你提到的节目。非常感谢。(当我从开发人员那里得到更多信息时,我会接受你的回答。)如果没有包含依赖项,你可能需要添加依赖项,例如
colt
库。如果有POM文件,当您使用maven时,它可能会自动执行此操作。您可能需要添加依赖项,例如
colt
库(如果没有)。如果有POM文件,当您使用maven时,它可能会自动执行此操作。