【问题标题】:javac cant find referenced classjavac找不到引用的类
【发布时间】:2012-02-26 17:52:16
【问题描述】:

我似乎无法理解这个问题。我有一个用于教育目的的简单项目,但无论如何,它都不会编译。我无法弄清楚我错过了什么。下面是makefile:

SHELL := /usr/bin/env bash
JFLAGS = -g -classpath "$(PWD)/src/tld/assignments/;$(PWD)/lib/;$(CLASSPATH)"
JC = javac
.SUFFIXES: .java .class
.java.class:
    $(JC) $(JFLAGS) $*.java

CLASSES = src/tld/assignments/StoreDao.java \
src/tld/assignments/Store.java

default: classes

classes: $(CLASSES:.java=.class)

clean: $(RM) *.class

StoreDao 可以编译,但引用 StoreDao 的 Store 没有,并说:

src/tld/assignments/Store.java:9: cannot find symbol
symbol  : class StoreDao

我已经尝试了带有斜杠和不带冒号、分号等的类路径 - 没有区别。

特别注意,因为我知道肯定会有人这么说。不,我不想/不能使用 Ant 或 Maven。这个任务的重点是使用 GNU Make。 (我可以使用 Ant 或 Maven 等,这不是问题)。

另一个注意事项,以防万一,我查看了发布到 SO 的类似问题 - 没有一个是我的情况(所有其余的结果都是语法错误或海报一侧的某种健忘,这不是)。

提前谢谢你。

【问题讨论】:

    标签: javac gnu-make


    【解决方案1】:

    非常出色,尽管 javac 忽略了路径命名中的所有约定,但它在不同操作系统上也不一致,因此,Linux 上的路径分隔符似乎不是分号,而是冒号。

    当然,官方手册中从来没有提到过,因为用户在运行程序之前应该具备必备知识...... sigh

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多