运行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构建文件的片段:
<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;
}
备注:
答案 0 :(得分:0)
如果编译的源代码的依赖项不在类路径上,则在使用cannot find symbol
时会发生javac
错误。在您的情况下,这似乎是班级foo.crmservice.DepositRequest
。
由于它在Eclipse中编译,您是否已将此类显式包含在引用的库中?或者也许通过链接另一个项目?