奇怪的Ant构建失败

时间:2011-01-12 13:28:25

标签: java ant build

运行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;
}

备注

  • 该项目未在Eclipse上显示错误。
  • 我在Debian上使用 sun-java6-jdk (如果这很重要)

1 个答案:

答案 0 :(得分:0)

如果编译的源代码的依赖项不在类路径上,则在使用cannot find symbol时会发生javac错误。在您的情况下,这似乎是班级foo.crmservice.DepositRequest

由于它在Eclipse中编译,您是否已将此类显式包含在引用的库中?或者也许通过链接另一个项目?