【发布时间】:2011-01-12 13:28:24
【问题描述】:
我在运行ant compile 时收到此错误:
[javac] Compiling 9 source files to /home/wena/work/workspace/PortalMapper/build/classes
[javac] /home/wena/work/workspace/PortalMapper/src/foo/esb/portal/service/PortalRequestBroker.java:439: cannot find symbol
[javac] symbol : method setLeadId(java.lang.String)
[javac] location: class foo.crmservice.DepositRequest
[javac] depositReq.setLeadId(portalDepRequest.getLeadId());
[javac] ^
[javac] 1 error
这是我的 ant 构建文件的 sn-p:
<target name="compile">
<javac srcdir="${dir.java}" destdir="${dir.classes}">
<classpath refid="classpath"/>
</javac>
</target>
depositReq 是我们拥有的类的一个实例:
private String leadId;
public void setLeadId(String leadId) {
this.leadId = leadId;
}
portalDepRequest 是我们拥有的类的一个实例:
private String leadId;
public String getLeadId() {
return leadId;
}
备注:
- 该项目在 Eclipse 上不显示错误。
- 我在 Debian 上使用 sun-java6-jdk(如果重要的话)
【问题讨论】:
-
什么是classpath.mule?你也洗干净了吗?
-
@navi 这只是类路径 ID 的名称。
-
你能在课堂上发布 setLeadId() 的声明吗?它抱怨的是方法而不是整个班级。参数可能不匹配?
-
portalDepRequest.getLeadId() 返回什么?
-
Ups,对不起,这从错误消息中很明显。消息是说 DepositRequest 类没有一个名为 setLeadId() 的方法,它采用 String 参数,所以我会仔细检查。为什么只有在使用 ant 时才会显示错误,我不知道。不同的库/路径/编译器选项?