首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java在类中找不到现有方法

Java在类中找不到现有方法
EN

Stack Overflow用户
提问于 2013-06-17 16:52:20
回答 2查看 543关注 0票数 0

我有用Ant 1.9.1构建的jar归档,当我从它启动类时,我得到了以下异常:

代码语言:javascript
复制
Caused by Java exception: java.lang.NoSuchMethodError: com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput.setChecked(Z)V
        at com.blablabla.kats.drivers.CheckBox.check(CheckBox.java:57)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.blablabla.kats.utils.Operation.doInvoke(Operation.java:142)
        at com.blablabla.kats.utils.Operation.invokeMethod(Operation.java:117)
        at com.blablabla.kats.model.handles.ElementOperationHandle.invokeOn(ElementOperationHandle.java:33)
        at com.blablabla.kats.model.statements.DirectAction.execute(DirectAction.java:45)
        at com.blablabla.kats.model.StatementSequence.executeStatement(StatementSequence.java:74)
        at com.blablabla.kats.model.StatementSequence.doExecute(StatementSequence.java:50)
        at com.blablabla.kats.model.Procedure.call(Procedure.java:46)
        at com.blablabla.kats.model.statements.Invocation.execute(Invocation.java:48)
        at com.blablabla.kats.model.StatementSequence.executeStatement(StatementSequence.java:74)
        at com.blablabla.kats.model.StatementSequence.doExecute(StatementSequence.java:50)
        at com.blablabla.kats.model.TestCase.execute(TestCase.java:41)
        at com.blablabla.kats.model.TestSuite.execute(TestSuite.java:45)
        at com.blablabla.kats.model.TestProgram.execute(TestProgram.java:40)
        at com.blablabla.kats.Main.main(Main.java:158)

当我用javac编译"com.blablabla.kats.drivers.CheckBox“类并替换jar中的相应文件时,一切正常。我使用htmlunit 2.12

代码语言:javascript
复制
java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

对应的Ant任务:

代码语言:javascript
复制
<path id="classpath.libraries">
    <fileset dir="${basedir}/lib">
      <include name="*.jar"/>
    </fileset>
  </path>


     <target name="compile">
        <javac srcdir="${basedir}/src/java" destdir="classes"  debug="true" source="1.5" target="1.5">
          <classpath refid="classpath.libraries" />
        </javac>
      </target>

${basedir}/lib包含大量jars。

主要是包含com.blablabla.kats.drivers.CheckBox的kats.jar - my项目

htmlunit-2.12.jar - com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput.setChecked(Z)所在的位置。

为什么会发生这种情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-18 10:14:23

我发现我没有删除旧的编译类。当我清理编译好的类时,所有的类都工作得很好。

票数 0
EN

Stack Overflow用户

发布于 2013-06-17 17:24:50

我看到的唯一区别是,您在ant脚本中使用的是1.5,而在java版本中,您正在使用java6来运行它。我不确定这是否会有很大的不同,因为它应该是向后兼容的,但还是要试一试。在ant build.xml中将此版本更改为1.6

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17143710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档