2012-02-14 8 views
0

Xvfbを使用してCentOS上でAntでGWT Devmodeを実行しようとしていますが、Javaバージョンのエラーが表示されています。スタックトレースの先頭はCentOSでXvfbでGWT Devmodeを実行しています

[java] JVM args ignored when same JVM is used 
[java] Working directory ignored when same JVM is used. 
[java] java.lang.NoClassDefFoundError: java.util.concurrent.Semaphore 
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.taskdefs.Java.run(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.taskdefs.Java.execute(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.UnknownElement.execute(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Task.perform(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Target.execute(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Target.performTasks(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Project.executeSortedTargets(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Project.executeTarget(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Project.executeTargets(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Main.runBuild(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.Main.startAnt(ant-1.6.5.jar.so) 
[java] at org.apache.tools.ant.launch.Launcher.run(ant-launcher-1.6.5.jar.so) 
[java] at org.apache.tools.ant.launch.Launcher.main(ant-launcher-1.6.5.jar.so) 
[java] Caused by: java.lang.NoClassDefFoundError: java.util.concurrent.Semaphore 
[java] at com.google.gwt.dev.DevModeBase.<init>(DevModeBase.java:749) 
[java] at com.google.gwt.dev.DevMode.<init>(DevMode.java:341) 
[java] at com.google.gwt.dev.DevMode.main(DevMode.java:309) 
[java] at java.lang.reflect.Method.invoke(libgcj.so.7rh) 

です。私はSunのJava 1.7.0をインストールしました。正しく設定されていると思います。 "java -version"を実行すると、 "alternatives --config java"を実行すると表示されます(バージョン1.4.2がデフォルトとして設定されていますが、現在のバージョンが変更されています)。

これは私が実行しているantタスクです。そして産卵= | Iは= "falseをtrue" をフォークのすべての組み合わせを試したことに注意してください|

<target name="devmode" depends="" description="Run development mode"> 
    <java fork="true" classname="com.google.gwt.dev.DevMode" 
     dir="${basedir}/war" spawn="true"> 
     <classpath> 
      <pathelement location="src" /> 
      <path refid="project.class.path" /> 
      <path refid="tools.class.path" /> 
     </classpath> 
     <jvmarg value="-Xmx512M" /> 
     <jvmarg value="-javaagent:${appengine.folder}/lib/agent/appengine-agent.jar" /> 
     <jvmarg value="-Duser.dir=${basedir}/war" /> 
     <arg line="-war" /> 
     <arg value="${basedir}/war" /> 
     <arg line="-logLevel" /> 
     <arg value="INFO" /> 
     <arg value="-server" /> 
     <arg value="com.google.appengine.tools.development.gwt.AppEngineLauncher" /> 
     <arg value="net.bookedin.bam.BAM" /> 

    </java> 

</target> 

私の$ CLASSPATH変数 "真偽"(問題と仮定)を示しています。/usr/java/jdk1.7.0を_02/lib

答えて

0

問題が見つかりました。私は1.7.0にjavaを更新していましたが、javacは古い1.4.2バージョンを指していました。私は新しいバージョンをインストールしてそれに切り替えるための選択肢を使用しました:

alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_02/bin/javac 1 
alternatives --config javac 
関連する問題