【发布时间】:2019-02-25 19:16:24
【问题描述】:
我正在通过 makefile 编译一个 Java 项目,我和我的合作者有不同的机器(他有 Apple,我有 Windows)。我正在使用 Cygwin 在我的机器上运行 makefile,但 Java 不会编译 - 即使它在我的合作者的机器上编译。对他有用的命令格式为
javac -cp "./stem/java/lib/*:./stem/java/bin/Project.jar" -d ./stem/java/bin ./stem/java/src/Project/A.java ./stem/java/src/Project/B.java ./stem/java/src/Project/C.java ./stem/java/src/Project/D.java ./stem/java/src/Project/E.java ./stem/java/src/Project/F.java
在我的机器上运行相同的命令会产生以下形式的错误
.\stem\java\src\Project\A.java:460: 错误:包GRB不存在
其中 GRB 是 Gurobi 外部 .jar,它包含在 /lib/ 文件夹中,并在代码中多次使用。
然后我尝试通过 Windows 命令行而不是 Cygwin 运行相同的命令,但它给出了相同的错误消息
然后我尝试按照错误消息中的说明将转义字符从“/”更改为“\”,但这也不起作用。在 Windows cmd 中,错误与以前相同,但在 Cygwin 中是:
javac:找不到文件:.stemjavasrcProjectA.java
这个错误显然是 Cygwin 如何运行 makefile 的一些问题(它不可能是外部 jar 的构建路径的问题,否则它对我的合作者不起作用),但它可能是什么?
【问题讨论】: