2013-04-14 7 views
7

Próbuję uruchomić mój projekt HTML, ale mam pewne problemy. Projekty na komputer i Androida działają dobrze. Problem polega na tym, że mam inny projekt, którego używam jako biblioteki, która nie jest importowana lub coś takiego.LibGdx i Gwt: Brak kodu źródłowego dla typu

[ERROR] [com.mobilecostudios.walkingskeleton.GwtDefinition] - Errors in 'file:/C:/Users/chelo/Documents/mobilecostudios-libgdx/trunk/walkingskeleton/WalkingSkeleton/src/com/mobilecostudios/walkingskeleton/GameLoop.java' 
[ERROR] [com.mobilecostudios.walkingskeleton.GwtDefinition] - Line 21: No source code is available for type com.mobilecostudios.gamelibrary.Domain.BaseSprite; did you forget to inherit a required module? 

Moja hierarchia projektu jest:

  • GameDevLibrary
  • WalkingSkeleton
  • WalkingSkeleton-html

Moja gwt.xml jest:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' /> 
    <inherits name='GameLoop' /> 
    <entry-point class='com.mobilecostudios.walkingskeleton.client.GwtLauncher' /> 
    <set-configuration-property name="gdx.assetpath" value="../WalkingSkeleton-android/assets" /> 
</module> 

Dodałem już proyect do ścieżki budowy. Czego jeszcze brakuje?

Budowa ścieżki enter image description here

Odpowiedz

6

Musisz upewnić się, że można również dodać kod źródłowy projektu na swojej drodze. Wszelkie moduły Java GWT, które będą używane po stronie klienta, muszą mieć dostępny kod źródłowy.

W twoim przypadku,

<inherits name='GameLoop' /> 

Powinno być:

<inherits name='com.mobilecostudios.walkingskeleton.GameLoop' /> 

Ponadto, skąd com.mobilecostudios.gamelibrary.Domain.BaseSprite pochodzi? Jeśli jest używana po stronie klienta, musisz dodać ją do pliku modułu .gwt.xml. Powinno być coś takiego:

<inherits name='com.mobilecostudios.gamelibrary.GameLibrary' /> 

powyżej, jestem przy założeniu, że GameLibrary.gwt.xml to plik XML moduł GWT do projektu, który zawiera com.mobilecostudios.gamelibrary.Domain.BaseSprite.

Zasadniczo, jeśli chcesz użyć zewnętrznego modułu GWT we własnym projekcie po stronie klienta, musisz zaimportować go do projektu, dodając źródła i pliki binarne do ścieżki budowania, a także dodać <inherits name='...'> do Twój plik .gwt.xml Twojego projektu.

+0

Gdzie jeszcze powinienem dodać ścieżkę? –

+0

Zaktualizowałem swoją odpowiedź. Trudno mi dokładnie powiedzieć, co się dzieje. Który projekt chcesz zaimportować, gdzie? Gdzie 'com.mobilecostudios.gamelibrary.Domain.BaseSprite' jest importowany do modułu GWT? – enrybo

3

W przypadku projektów, które mają więcej niż jedną paczkę trzeba dodać .gwt.xml dla każdego pakietu, który używasz:
add an xml for every package

jak widać na zdjęciu powyżej i dodać controller.gwt.xml dla kontrolera objects.gwt.xml dla obiektów i tak dalej ... i wewnątrz tych .gwt.xml plików trzeba napisać coś takiego:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <source path="com/me/controller" /> 
</module> 

na przykład to moja controller.gwt.xml następnie dodaj odziedzicz tag do pliku GwtDefinition.gwt.xml w następujący sposób:

Powiązane problemy