【问题标题】:Javac command works when typed manually but not when run in MakefileJavac 命令在手动输入时有效,但在 Makefile 中运行时无效
【发布时间】:2021-01-31 03:31:30
【问题描述】:

我希望像以前一样使用 makefile 编译我的 java 项目,但是当我运行 make 时,它​​说命令 javac 没有找到,但是如果我要输入与我正在运行的完全相同的命令Makefile 在终端(同级目录)命令运行成功。

生成文件

PATH = src/main/java/cs455/overlay
FILES = $(PATH)/node/*.java $(PATH)/util/*.java
all:
    javac $(FILES)
run:
    Java ProducerConsumer
clean:
    rm *.class

由make形成的相应命令是

javac src/main/java/cs455/overlay/node/*.java src/main/java/cs455/overlay/util/*.java

再次输入make,它说找不到javac命令,但是在终端中粘贴上面的这个没有问题。

【问题讨论】:

    标签: java makefile


    【解决方案1】:

    首先,您可能应该使用另一种工具来构建 Java 项目。 maven 或 sbt 更为常见。二、不要修改PATH

    SRCPATH = src/main/java/cs455/overlay
    FILES = $(SRCPATH)/node/*.java $(SRCPATH)/util/*.java
    all:
        javac $(FILES)
    run:
        Java ProducerConsumer
    clean:
        rm *.class
    

    【讨论】:

    • 这很有效,只要允许我,我就会批准这个作为答案,感谢您的帮助。至于构建,我最初是在看 Gradle,但现在也会考虑 maven,我只是想让一些东西运行起来,因为来自 C++ 的 makefile 让我感觉更舒服
    • @Marc-9 Gradle 也很受欢迎。我只在 Scala 特定的项目中看到过 SBT。我自己的偏好是 Maven,但 Gradle 是 Android 的标准。
    猜你喜欢
    • 2022-01-02
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 2017-01-15
    • 1970-01-01
    • 2021-05-06
    • 2017-04-28
    相关资源
    最近更新 更多