Makefile для Java - PullRequest
       3

Makefile для Java

1 голос
/ 28 октября 2010

Я запускаю Eclipse в Windows для выполнения своих домашних заданий. Я должен представить make-файл, чтобы мой код (singlefile.java) мог быть скомпилирован. Как я могу это сделать.

Я нашел это . Можно ли это проверить на windows.

EDIT: В соответствии с предложениями я установил GNU Make для Windows:

Мой файл make выглядит следующим образом:

JFLAGS = -g
JC = javac
#
.SUFFIXES: .java .class
.java.class:
        $(JC) $(JFLAGS) $*.java
CLASSES = \
        singlefile.java \
default: classes
classes: $(CLASSES:.java=.class)
clean:
        $(RM) *.class

Однако, когда я запускаю make, я получаю сообщение об ошибке:

*** missing separator (did you mean TAB instead of 8 spaces?).  Stop.

Я новичок в make. Чего мне не хватает?

Ответы [ 7 ]

4 голосов
/ 22 апреля 2012

Make настаивает на том, чтобы вы использовали табуляцию вместо пробелов. Сообщение об ошибке даже говорит вам, что «(вы имели в виду TAB вместо 8 пробелов?)». Перейдите к строкам с отступом кода, нажмите клавишу Backspace 8 раз, а затем нажмите клавишу Tab. Сделайте это на всех линиях, и это будет работать.

4 голосов
/ 28 октября 2010

Все, что вам нужно сделать с этим make-файлом, это изменить Purchaser.java на ваш .java источник и удалить из него другие источники .java. Если вы используете Windows, то, вероятно, в вашей системе не установлена ​​make. Вы можете установить и использовать GNU make, Microsoft nmake или другое. Я думаю, что самый простой способ скомпилировать вашу программу - создать файл .bat с таким содержимым, как:

javac MyClacc.java

Конечно, вы можете добавить туда флаги javac вроде -deprecation и т. Д.

Простейшая форма makefile в вашем случае может выглядеть так:

default:
    javac singlefile.java

clean:
    del singlefile.class

Обязательно делайте отступы (перед такими командами, как javac и del) с символом табуляции.

4 голосов
/ 28 октября 2010

Если у вас нет никаких зависимостей, вы можете написать make-файл так же, как если бы вы работали с программами на C, например:

JAVAC = javac

%.class: %.java
    $(JAVAC) $<

(примечание: вам, вероятно, также понадобится чистая задача)

Если вы планируете продолжить работу с java для более сложных проектов, рассмотрите возможность использования maven или ant для создания вашего проекта.Оба могут быть интегрированы в затмение, поэтому вам не нужно делать много работы.Затем вы можете заключить команду mvn compile в Makefile и забыть об этом.

2 голосов
/ 28 октября 2010

Поскольку вы используете Eclipse и Java, вы должны взглянуть на создание файла сборки Ant .

1 голос
/ 28 октября 2010

Связанный с вами Makefile является подходящей отправной точкой.

Можно ли его протестировать на windows?

Только если вы установили Cygwin или что-то в этом роде. Даже в этом случае существует небольшой риск того, что вы создадите make-файл, содержащий зависимости платформы Windows ...

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

Но, как говорили другие, если у вас есть возможность, используйте Ant вместо Make для создания простых Java-проектов. Преимущество Ant состоит в том, что он более независим от платформы и не требует особой установки Ant и Java.

1 голос
/ 28 октября 2010

вы должны использовать make? или вы можете использовать любой инструмент сборки. Make редко используется, если вообще используется для Java, обычно это ant.apache.org или maven.apache.org, первый из которых проще.

0 голосов
/ 22 апреля 2012

скачайте "управление проектами с помощью GNU make" от http://www.wanderinghorse.net/computing/make/ Стефана Била и оригинального издания Роберта Мекленбурга и посмотрите на страницу 121. В нем есть все, что вам нужно для сборки Java с помощью gnumake

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...