2013-10-29 38 views
1

當我使用ant構建我的項目時,使用libgdx,我得到一個奇怪的錯誤。它表示找不到類com.google.gwt.dom.client.ImageElement,但在代碼中完全沒有使用它。我怎樣才能找到什麼使得這個課程是必要的?即使搜索整個項目也不會給出任何結果。它表示錯誤在PixmapTextureAtlas.java:16class source),但沒有使用該類的代碼。當然,添加包含com.google.gwt.dom.client.ImageElement類的庫會有所幫助,但我想弄清楚爲什麼需要此類。項目編譯需要一個沒有任何地方使用的類

這裏是螞蟻日誌中的實際錯誤的,它告訴地方:

Compiling 3 source files to /home/suseika/Projects/tendiwa/client/bin 
/home/suseika/Projects/tendiwa/client/src/org/tendiwa/client/PixmapTextureAtlas.java:16: error: cannot access ImageElement 
class file for com.google.gwt.dom.client.ImageElement not found 

這裏是整個螞蟻日誌:

/usr/lib/jvm/java-7-oracle/bin/java -Xmx128m -Xss2m -Dant.home=/opt/intellijidea/lib/ant -Dant.library.dir=/opt/intellijidea/lib/ant/lib -Dfile.encoding=UTF-8 -classpath /opt/intellijidea/lib/ant/lib/ant-apache-regexp.jar:/opt/intellijidea/lib/ant/lib/ant-swing.jar:/opt/intellijidea/lib/ant/lib/ant-apache-xalan2.jar:/opt/intellijidea/lib/ant/lib/ant-jdepend.jar:/opt/intellijidea/lib/ant/lib/ant-apache-resolver.jar:/opt/intellijidea/lib/ant/lib/ant-jsch.jar:/opt/intellijidea/lib/ant/lib/ant.jar:/opt/intellijidea/lib/ant/lib/ant-testutil.jar:/opt/intellijidea/lib/ant/lib/ant-launcher.jar:/opt/intellijidea/lib/ant/lib/ant-apache-bsf.jar:/opt/intellijidea/lib/ant/lib/ant-commons-logging.jar:/opt/intellijidea/lib/ant/lib/ant-netrexx.jar:/opt/intellijidea/lib/ant/lib/ant-junit.jar:/opt/intellijidea/lib/ant/lib/ant-commons-net.jar:/opt/intellijidea/lib/ant/lib/ant-apache-bcel.jar:/opt/intellijidea/lib/ant/lib/ant-antlr.jar:/opt/intellijidea/lib/ant/lib/ant-apache-log4j.jar:/opt/intellijidea/lib/ant/lib/ant-jai.jar:/opt/intellijidea/lib/ant/lib/ant-apache-oro.jar:/opt/intellijidea/lib/ant/lib/ant-jmf.jar:/opt/intellijidea/lib/ant/lib/ant-javamail.jar:/usr/lib/jvm/java-7-oracle/lib/tools.jar:/opt/intellijidea/lib/idea_rt.jar com.intellij.rt.ant.execution.AntMain2 -logger com.intellij.rt.ant.execution.IdeaAntLogger2 -inputhandler com.intellij.rt.ant.execution.IdeaInputHandler -buildfile /home/suseika/Projects/tendiwa/client/build.xml jar 
build.xml 
property 
path 
description 
compile 
ant 
property 
property 
property 
description 
compile 
mkdir 
javac 
jar 
ant 
property 
description 
_core_src_available 
available 
ontology 
antcall 
property 
description 
_core_src_available 
available 
_build_core 
ant 
property 
property 
compile 
echo 
/home/suseika/Projects/tendiwa/client 
mkdir 
javac 
jar 
jar 
Building jar: /home/suseika/Projects/tendiwa/MainModule.jar 
description 
tempfile 
mkdir 
Created dir: /tmp/tendiwa373148820 
unjar 
Expanding: /home/suseika/Projects/tendiwa/MainModule.jar into /tmp/tendiwa373148820 
Expanding: /home/suseika/Projects/tendiwa/tendiwa-backend.jar into /tmp/tendiwa373148820 
Expanding: /home/suseika/Projects/tendiwa/tendiwa-ontology.jar into /tmp/tendiwa373148820 
copy 
Copying 1 file to /tmp/tendiwa373148820 
java 
Created item short_sword 
Created item short_bow 
Created item bucket 
Created item boot 
Created item steel_morningstar 
Created item rifle_ammo 
Created item handAxe 
Created item iron_armor 
Created item steel_mace 
Created item jacket 
Created item fedora 
Created item wooden_arrow 
Saving sources to /tmp/tendiwa373148820/ontology/src 
tendiwa/resources/SoundTypes.java 
tendiwa/resources/CharacterTypes.java 
tendiwa/resources/ObjectTypes.java 
tendiwa/resources/FloorTypes.java 
tendiwa/resources/ItemTypes.java 
tendiwa/resources/MaterialTypes.java 
mkdir 
mkdir 
mkdir 
Created dir: /tmp/tendiwa373148820/ontology/bin 
javac 
jar 
Building jar: /home/suseika/Projects/tendiwa/tendiwa-ontology.jar 
echo 
Resources source code generated 
ant 
property 
property 
compile 
echo 
/home/suseika/Projects/tendiwa/client 
mkdir 
javac 
jar 
jar 
jar 
Building jar: /home/suseika/Projects/tendiwa/MainModule.jar 
mkdir 
javac 
/home/suseika/Projects/tendiwa/client/build.xml:25: Compile failed; see the compiler error output for details. 
    at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1150) 
    at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.apache.tools.ant.Main.runBuild(Main.java:809) 
    at org.apache.tools.ant.Main.startAnt(Main.java:217) 
    at org.apache.tools.ant.Main.start(Main.java:180) 
    at org.apache.tools.ant.Main.main(Main.java:268) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30) 
/home/suseika/Projects/tendiwa/client/build.xml (25:46)'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 
Compiling 3 source files to /home/suseika/Projects/tendiwa/client/bin 
/home/suseika/Projects/tendiwa/client/src/org/tendiwa/client/PixmapTextureAtlas.java:16: error: cannot access ImageElement 
class file for com.google.gwt.dom.client.ImageElement not found 
1 error 
/home/suseika/Projects/tendiwa/client/build.xml:25: Compile failed; see the compiler error output for details. 
    at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1150) 
    at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.apache.tools.ant.Main.runBuild(Main.java:809) 
    at org.apache.tools.ant.Main.startAnt(Main.java:217) 
    at org.apache.tools.ant.Main.start(Main.java:180) 
    at org.apache.tools.ant.Main.main(Main.java:268) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30) 
/home/suseika/Projects/tendiwa/client/build.xml:25: Compile failed; see the compiler error output for details. 
    at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1150) 
    at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.apache.tools.ant.Main.runBuild(Main.java:809) 
    at org.apache.tools.ant.Main.startAnt(Main.java:217) 
    at org.apache.tools.ant.Main.start(Main.java:180) 
    at org.apache.tools.ant.Main.main(Main.java:268) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30) 

Ant build completed with 3 errors one warning in 4s at 10/30/13 3:09 AM 

這裏是Ant文件的一部分,其中出現此錯誤:

<path id="tendiwa.jars"> 
    <fileset dir="../libs"> 
     <include name="**/*.jar"/> 
    </fileset> 
    <pathelement path="../tendiwa-backend.jar"/> 
    <pathelement path="../tendiwa-ontology.jar"/> 
    <!--<fileset dir="/usr/share/java" includes="gwt*.jar"/>--> 
</path> 

<target name="compile"> 
    <ant dir="../MainModule" target="jar"/> 
    <mkdir dir="bin"/> 
    <javac destdir="bin" failonerror="true"> 
     <classpath> 
      <path refid="tendiwa.jars"/> 

      <!--temporary--> 
      <pathelement path="../tendiwa-ontology.jar"/> 
      <!--temporary--> 
      <pathelement path="../MainModule.jar"/> 
      <fileset dir="../libs" includes="**/*.jar"/> 
     </classpath> 
     <src> 
      <pathelement path="Desktop/src"/> 
      <pathelement path="src"/> 
     </src> 
    </javac> 
</target> 

回答

1

我發現了這是爲什麼發生。我意外地在類路徑中添加了兩個不同的jar,其中有兩個類com.badlogic.gdx.graphics.Pixmap的不同變體,一個依賴於GWT,另一個是我需要的。問題是,我不知道這種情況是可能的:)

2

給定的庫可能具有它不提供的依賴關係,因此您的代碼需要它間接PixmapTextureAtlas.java:16確實引用這個類,並且您使用PixmapTextureAtlas,因此您間接需要com.google.gwt.dom.client.ImageElement

像Maven這樣的工具可以添加依賴關係/子依賴關係並輕鬆管理它們。

+0

實際上,它引用了'com.google.gwt.dom.client.ImageElement',但它可能不應該。我想我問了一個錯誤的問題,與我的情況無關。 – gvlasov

相關問題