2010-10-28 2 views
1

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

Я нашел this. Могут ли они быть протестированы на окнах.

EDIT: В соответствии с предложениями, я установил гну сделать для окон:

Мой файл делают следующим образом:

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

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

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

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

+0

Есть у говорим о .jar файл или .java-файлы? потому что .java-файл создает для каждого класса, который вы создаете. – Sudantha

+0

это .java. У меня есть много классов, определенных в одном файле java. – devnull

+1

2. Некоторая реализация 'make' лучше всего работает, если вы намереваетесь использовать символ табуляции. Используйте хороший текстовый редактор, который показывает вкладки и пробелы. Есть много хороших редакторов-программистов, таких как Context, Notepad ++, Edit +. Используйте их не в блокноте. –

ответ

4

Все, что вам нужно сделать с этим 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) с символом табуляции.

1

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

+0

да, это требование использовать make. – devnull

4

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

JAVAC = javac 

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

(примечание: вы, вероятно, хотите чистую задачу, а)

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

1

Подключенный файл Makefile является подходящей отправной точкой.

Can it be tested on windows?

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

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

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

4

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

0

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