2012-06-29 4 views
6

Я пытаюсь запустить баночку, gwt-codeserver.jar, в OSX.7, с помощью командыУстановка Java (для пути к классам супер режиме Dev)

java -cp ".:/sdk/gwt-2.5.0.rc1/gwt-dev.jar" -jar /sdk/gwt-2.5.0.rc1/gwt-codeserver.jar com.activegrade.TeacherView 

Команда выдает:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gwt/core/ext/TreeLogger 
Caused by: java.lang.ClassNotFoundException: com.google.gwt.core.ext.TreeLogger 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    ... 

Но gwt-dev.jar содержит определение для com.google.gwt.core.ext.TreeLogger, поэтому я пришел к выводу, что я неправильно настраиваю путь к классам.

Я правильно настроил путь к классам? Файл jar определенно является правильной баночкой, и это определенно в этом месте. Как я могу диагностировать это дальше?

ответ

2

Может ли this быть источником вашей проблемы? «Когда вы используете параметр -jar, JAR-файл является источником всех пользовательских классов, а другие параметры пути к пользовательскому классу игнорируются».

1

Вы можете использовать его как следующие ..

java -cp ".:/sdk/gwt-2.5.0.rc1/gwt-dev.jar:/sdk/gwt-2.5.0.rc1/gwt-codeserver.jar" com.activegrade.TeacherView 
7

Я получил CodeServer работает в качестве внешнего инструмента в Eclipse (предостережение - вам все равно придется сервер своего HTML-файл как-то, что у меня еще не но это похоже на запуск кодового сервера). Чтобы настроить CodeServer как внешний инструмент в Eclipse,

0) Помните, что вы также должны обновить файл module.gwt.xml, чтобы разрешить маркеры книг Super Dev Mode и включить исходные карты для отладки. Добавьте их в свой файл module.gwt.xml.

<!-- enable the SuperDevMode book marklets --> 
<add-linker name="xsiframe"/> 
<set-configuration-property name="devModeRedirectEnabled" value="true"/> 

<!-- enable source maps --> 
<set-property name="compiler.useSourceMaps" value="true" /> 

1) Откройте диалоговое окно «Конфигурации внешних инструментов/внешних инструментов»; это находится под верхним уровнем меню «Выполнить» в Windows.

2) Создайте новую конфигурацию, выбрав «Программа» в списке слева, затем нажмите кнопку «Создать» (это выглядит как документ). Назовите свою конфигурацию в диалоговом окне.

3) Путь к файлу java.exe находится в поле «Местоположение:». Вы можете использовать кнопку «Обзор файловой системы», чтобы найти ее, если вы не знаете путь.

4) Я оставил рабочий каталог пустым. Я не уверен, что это имеет значение; он работает без него. Кто-нибудь знает наверняка, если это нужно установить?

5) Основная часть работы в поле «Аргументы:». Вы предоставите аргумент для пути к классу, который будет включать путь к gwt-dev.jar, gwt.user.jar, gwt-codeserver.jar и исходный каталог. Затем вы предоставите -jar и аргумент для gwt-codeserver.jar и класса CodeServer для запуска, затем вы предоставите аргументы CodeServer. Я сломаю его;

5a) -cp "список путей класса, разделенных запятыми, в окружении двойных кавычек". Чтобы сделать ваше определение инструмента более переносимым, используйте eclipse «Varaibles» для расчета путей, относящихся к вашей установке. В частности, я использовал «workspace_loc» для относительных путей рабочего пространства (например, каталог src) и «eclipse_home» для путей к gwt SDK . такие вещи, как GWT-user.jar (потому что я установил SDK в папке затмений плагинов) Вот моя часть пути к классам,

-cp "${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-user.jar;${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-dev.jar;${workspace_loc:\GWTFractionTest\war\WEB-INF\lib\gwtquery-1.1.0.jar};${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-codeserver.jar" 

5б) Далее это имя класса, который java.exe должен бежать.Это класс CodeServer;

com.google.gwt.dev.codeserver.CodeServer 

5c) Далее приведены аргументы CodeServer. Первый - это путь к src напрямую. Для меня это относительный путь к рабочему пространству;

-src "${workspace_loc:\GWTFractionTest\src}" 

5d) Наконец, путь модуля (класс путь к файлу gwt.xml) Вот моя;

com.conceptua.fractiontest.FractionTest 

Вот мой полный список аргументов;

-cp "${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-user.jar;${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-dev.jar;${workspace_loc:\GWTFractionTest\war\WEB-INF\lib\gwtquery-1.1.0.jar};${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-codeserver.jar" com.google.gwt.dev.codeserver.CodeServer -src "${workspace_loc:\GWTFractionTest\src}" com.conceptua.fractiontest.FractionTest 

6) Выберите кнопку «Запустить», чтобы запустить CodeServer. Когда я выполняю это в консоли;

workDir: C:\Users\Ezward\AppData\Local\Temp\gwt-codeserver-6942784883227417581.tmp 
binding: user.agent=safari 
binding: compiler.useSourceMaps=true 
binding: locale=en 
Compiling module com.conceptua.fractiontest.FractionTest 
    Validating units: 
     Ignored 72 units with compilation errors in first pass. 
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors. 
    Computing all possible rebind results for 'com.google.gwt.useragent.client.UserAgentAsserter' 
     Rebinding com.google.gwt.useragent.client.UserAgentAsserter 
     Checking rule <generate-with class='com.google.gwt.editor.rebind.SimpleBeanEditorDriverGenerator'/> 
      [WARN] Detected warnings related to 'com.google.gwt.editor.client.SimpleBeanEditorDriver'. Are validation-api-<version>.jar and validation-api-<version>-sources.jar on the classpath? 
      Specify -logLevel DEBUG to see all errors. 
      [WARN] Unknown type 'com.google.gwt.editor.client.SimpleBeanEditorDriver' specified in deferred binding rule 
    Compiling 1 permutation 
     Compiling permutation 0... 
     Source Maps Enabled 
    Compile of permutations succeeded 
Linking into C:\Users\Ezward\AppData\Local\Temp\gwt-codeserver-6942784883227417581.tmp\com.conceptua.fractiontest.FractionTest\compile-1\war\fractiontest; Writing extras to C:\Users\Ezward\AppData\Local\Temp\gwt-codeserver-6942784883227417581.tmp\com.conceptua.fractiontest.FractionTest\compile-1\extras\fractiontest 
    Link succeeded 
    Compilation succeeded -- 58.257s 
Compile completed in 60831 ms 
2012-07-01 12:37:03.184::INFO: Logging to STDERR via org.mortbay.log.StdErrLog 
2012-07-01 12:37:03.185::INFO: jetty-6.1.x 

The code server is ready. 
Next, visit: http://localhxst:9876/ 
2012-07-01 12:37:03.274::INFO: Started [email protected]:9876 

Я не знаю, почему я получаю начальные '72 единицы с компиляций ошибками, но это, кажется, продолжает успешно скомпилировать и запустить сервер.

7) На этом этапе вы должны ввести данный код CodeServer в Chrome. Вы получите страницу, показывающую, что работает CodeServer, и вы можете перетаскивать маркеры книг на панель инструментов закладок;

GWT Code Server 
Drag these two bookmarklets to your browser's bookmark bar: 
Dev Mode On Dev Mode Off 
Visit a web page that uses one of these modules: 
fractiontest 
Click "Dev Mode On" to start development mode. 

8) Следующий шаг - добраться до вашего html-файла, чтобы запустить его. По-видимому, он должен обслуживаться отдельным веб-сервером. Я все еще работаю над этой частью.

Ed

2

Я потратил много времени, пытаясь заставить его работать. Я старался следовать замечательным инструкциям Эзвуда, но моя установка, вероятно, несколько отличается, и это не сработало для меня. Есть много движущихся частей, и любая ошибка вызывает тонны исключений NullPointer, StackOverflow и UnableToComplete.

Единственный набор инструкций, которые сработали для меня. Я нашел в http://blog.daniel-kurka.de/2012/07/mgwt-super-dev-mode.html (блог Даниэля Курка). Надеюсь, это поможет кому-то еще, кто застрял в GWT Super Dev Mode, как я.

1

Была такая же проблема. Это то, что помогло мне:

java -cp "./gwt-codeserver.jar:./gwt-dev.jar" com.google.gwt.dev.codeserver.CodeServer 

Вы можете добавить --help как таковой: выход

java -cp "./gwt-codeserver.jar:./gwt-dev.jar" com.google.gwt.dev.codeserver.CodeServer --help 

бы:

CodeServer [-bindAddress address] [-port port] [-workDir dir] [-src dir] [module] 

where 
    -bindAddress The ip address of the code server. Defaults to 127.0.0.1. 
    -port   The port where the code server will run. 
    -workDir  The root of the directory tree where the code server willwrite compiler output. If not supplied, a temporary directorywill be used. 
    -src   A directory containing GWT source to be prepended to the classpath for compiling. 
and 
    module  The GWT modules that the code server should compile. (Example: com.example.MyApp) 

, а затем просто установить -Src каталог и имя вашего модуля

1

Мне удалось решить эту проблему, добавив gwt-user.jar в classpath в дополнение к gwt-dev.jar. Режим супер детектора GWT instructions говорит, что вам может потребоваться добавить gwt-user.jar.

Смежные вопросы