2012-01-18 3 views
0

Это очень простой вопрос, но я нигде не нашел ответа. Я совершенно не знаком с Java.Компиляция и запуск Java-программы на Mac

В 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); 
        ^

Я подозреваю, что есть за неправильно или неправильно определенный путь где-то, но я не смог найти его.

Заранее благодарим за помощь при поиске и устранении неисправностей.

+1

Возможно, вам понадобится добавить зависимости, такие как библиотеки 'colt', если они не были включены. Если есть файл POM, возможно, это произойдет автоматически, когда вы используете maven. –

ответ

0

Программа, которую я пыталась запустить, была неполной и не включала исходный код для двух зависимостей (в том числе colt, который компилятор отмечен выше). Спасибо Anony-Mousse за предложение этого варианта. Установка всего необходимого исходного кода решила проблему; разработчик также обновил файлы.

4

Если вы загрузили Java-программу из github, то почти наверняка она поставляется с файлом build.xml для использования с Apache Ant или pom.xml для использования с Apache Maven или другим файлом для использования с некоторыми другими построить инструмент. Как правило, база кода на github будет иметь документацию, рассказывающую вам, какой инструмент использовать и как его использовать.

+0

В файле readme нет компиляции файла * .xml или любой информации. Это только файлы .java и одна банка. – Sarah

+2

У меня были бы серьезные сомнения относительно качества любого кода, оставленного на github в этом состоянии. Таким образом, вам придется научиться использовать муравей или maven (или Eclipse или IntelliJ) для себя. – bmargulies

+0

Это первая фиксация разработчика, поэтому мне кажется, что я должен связаться с ним об этом. Я рассмотрю программы, которые вы упомянули. Спасибо. (Примите ваш ответ, когда я получу немного больше информации от разработчика.) – Sarah