Запуск GWT Devmode с Xvfb на CentOS - PullRequest
0 голосов
/ 14 февраля 2012

Я пытаюсь запустить GWT Devmode с Ant на CentOS, используя Xvfb, и получаю то, что кажется ошибкой версии Java. Начало трассировки стека

[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" и когда я делаю "альтернативы --config java" (по умолчанию установлена ​​версия 1.4.2, но я изменил текущую версию).

Это задача муравья, которую я выполняю. Обратите внимание, что я пробовал все комбинации fork = "true | false" и spawn = "true | false"

<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

1 Ответ

0 голосов
/ 14 февраля 2012

Обнаружена проблема.Хотя я обновил Java до 1.7.0, javac все еще указывал на старую версию 1.4.2.Я использовал альтернативы, чтобы установить новую версию и перейти на нее:

alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_02/bin/javac 1
alternatives --config javac
...