Я создаю java-программу в среде Windows, но мне нужно ее скомпилировать в Linux envoirment. Я в настоящее время возникают проблемы с Makefile:Создание Makefile в Java
папки проекта организованы таким образом:
project_folder
library.jar
src
folder1
a.java
b.java
folder2
c.java
d.java
folder3
e.java
Файл e.java
в folder3
находится почти во всех остальных .java
файлы, потому что это основная структура, и для каждого файла у меня есть строка
import folder3.e;
Wich Eclipse автоматически генерируется, когда я использую структуру из другого файла класса. Что терминал говорит мне:
error: Package folder3 does not exist
это Makefile
JFLAGS = -g -cp library.jar -sourcepath .
JC = javac
.SUFFIXES: .java .class
.java.class:
$(JC) $(JFLAGS) $*.java
CLASSES = \
src/folder1/a.java \
src/folder1/b.java \
src/folder2/c.java \
src/folder2/d.java \
src/folder3/e.java
default: classes
classes: $(CLASSES:.java=.class)
clean:
find . -name "*.class" -type f -delete
Это мой самый первый Makefile для Java и я думаю, что я неправильно в том числе ссылки между классами, как я могу решить эту проблему?
Спасибо
UPDATE: @Karthikeyan Vaithilingam спасибо за подробный ответ, теперь все ясно, и работать!
Системы сборки, такие как [Ant] (http://ant.apache.org/), [Maven] (http://maven.apache.org/) и [Gradle] (https://gradle.org /) были разработаны для Java, потому что 'make' не считался достаточно мощным. Поэтому, если ваш проект будет расти, вы, вероятно, захотите перейти на использование одного из них. – reinierpost