【问题标题】:Make file for multi-directory project为多目录项目制作文件
【发布时间】:2015-09-10 02:11:41
【问题描述】:

我正在尝试为几乎编译整个项目并将编译后的文件放在 bin 目录中的 java 项目做一个 makefile。这是我的文件架构:

这是我在根目录下的makefile:

BIN=./bin/
SOURCE=./src/

all:
    cd src; make
clean:
    rm -f $(BIN)*.class

这是我在 src 目录中的生成文件:

BIN=../bin/

sourcefiles = \
MessageMondial.class \
Bonjour.class

classfiles  = $(sourcefiles:.java=.class)

all: $(classfiles)
$(BIN)%.class: /src/%.java
    javac -d $(BIN) -classpath . $<

如果我进入 src 目录并运行 make all 命令,所有内容都会被编译并按应有的方式放入 bin 目录中。

但是,当我从项目的根目录运行 make all 命令时,我得到了这个错误:

如何从项目的根目录运行 make all 命令?

【问题讨论】:

    标签: java macos makefile javac


    【解决方案1】:

    这个

    sourcefiles = \
    MessageMondial.class \
    Bonjour.class
    

    应该是

    sourcefiles = \
    MessageMondial.java \
    Bonjour.java
    

    但我也建议您使用 maven、ant、gradle 或 sbt 而不是 make。 Make 不是为构建 Java 项目而设计的工具。

    【讨论】:

    • 好的,maven 已经启动并运行了。感谢您以正确的方式指出我。但是文件扩展名中的拼写错误并没有解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2016-12-09
    • 2020-10-21
    • 2021-06-16
    • 1970-01-01
    • 2014-08-31
    相关资源
    最近更新 更多