GWT Compiler Error unresolved Typ

Barb

Mitglied
Hallo zusammen,

ich bekomme folgende Fehlermeldung, wenn ich zu meinem Web-Project (GWT, Maven) mein Datenbankproject hinzufüge:

[INFO] [ERROR] An internal compiler exception occurred
[INFO] com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode
[INFO] at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:140)
[INFO] at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:71)
[INFO] at com.google.gwt.dev.jjs.impl.BuildTypeMap.getType(BuildTypeMap.java:730)
[INFO] at com.google.gwt.dev.jjs.impl.BuildTypeMap.access$000(BuildTypeMap.java:99)
[INFO] at com.google.gwt.dev.jjs.impl.BuildTypeMap$BuildDeclMapVisitor.visit(BuildTypeMap.java:195)
[INFO] at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.traverse(LocalDeclaration.java:237)
[INFO] at org.eclipse.jdt.internal.compiler.ast.ForeachStatement.traverse(ForeachStatement.java:527)
[INFO] at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:239)
[INFO] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1239)
[INFO] at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687)
[INFO] at com.google.gwt.dev.jjs.impl.BuildTypeMap.createPeersForNonTypeDecls(BuildTypeMap.java:637)
[INFO] at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:514)
[INFO] at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:523)
[INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:599)
[INFO] at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:232)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:198)
[INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
[INFO] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
[INFO] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
[INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:177)
[INFO] [ERROR] <no source info>: public class entities.Mandant
[INFO] extends java.lang.Object
[INFO] implements : java.io.Serializable
[INFO] /* fields */
[INFO] private [unresolved] byte[] guid

Vielen Dank für eure Hilfe! :)
 

Barb

Mitglied
GWT benötigt zum Compilieren ALLE Quellen, auch die indirekt referenzieren aus deinem Projekt. Ist das gegeben?

Hey Ullenboom,

danke für Deine Antwort. :)

Habe über Java Build Path -> Projects das Project hinzugefügt und in der pom.xml die dependency des Projects.

Ich bin nach diesem Tutorial GWT Tutorial (siehe Kapitel 8) vorgegangen und trotzdem tritt dieser Fehler auf. :(

Vielen Dank. :)
 

KSG9|sebastian

Top Contributor
Die Klasse entities.Mandant ist ziemlich sicher nicht im GWT-SourcePath eingetragen.

Wie sieht deine Projektstruktur aus?

Folgendes beachten:

Nur Klassen unterhalb des Packages in dem deine .gwt.xml sind für GWT sichtbar, und auch nur dann wenn diese in der .gwt.xml als source-path eignetragen sind.

Beispiel:

Code:
MeinModul.gwt.xml
..
<source path="client" />
<source path="shared" />
..


de/test/modul
 -> MeinModul.gwt.xml
de/test/modul/client
 -> alle Klassen hier sind sichtbar
de/test/modul/shared
 ->  alle Klassen hier sind sichtbar
de/test/modul/model
 -> Klassen hier sind NICHT sichtbar da model nicht als source-path eingetragen ist
de/test/entity
 -> Klassen hier sind NICHT sichtbar da diese "über" dem Modul liegen

Bei dir gibt es wohl zwei Möglichkeiten für den Fehler:

1. das Package "entities" ist nicht als source-path eingetragen
2. das Package "entities" liegt nicht innerhalb deines Moduls

Gruß Sebastian

** edit **
Falls du deine "entities" (entities.Mandant) als separtes Projekt halten willst muss
1. dieses Projekt eine .gwt.xml haben (ohne Entry-Point)
2. der SourcePath analog zu oben korrekt gepflegt sein
3. das Projekt als Dependency eingebunden sein
4. die Abhängigkeit auf das Projekt in der .gwt.xml gepflegt sein, Beispiel:

Code:
"Externe Bibiliothek":
de/test/anderesmodul/Entities.gwt.xml

Eintrag in der verwendenden .gwt.xml (MeinEntry.gwt.xml):
<inherits name='de.test.anderesmodul.Entities' />
 
Zuletzt bearbeitet:

Barb

Mitglied
Hallo Sebastian,

danke für Deine Antwort. :)

Entities.gwt.xml (liegt unter com.my.myproject) vom Datenbank-Projekt (myproject.entities) sieht wie folgt aus:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name="com.google.gwt.user.User" />
<source path='entities' />
</module>
[/XML]

Der Mandant liegt im Ordner com.my.myproject.entities.


MyProject .gwt.xml vom Web-Projekt sieht wie folgt aus:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name="com.google.gwt.user.User" />
<inherits name="com.my.myproject.Entities" />
<inherits name="com.google.gwt.user.theme.chrome.Chrome" />

<entry-point class='com.my.myproject.client.MyProject' />

<source path='client' />
<source path='shared' />
<source path='server' />
</module>
[/XML]

pom.xml hat folgende dependency:
[XML]
<dependency>
<groupId>myproject</groupId>
<artifactId>myproject.entities</artifactId>
<version>0.0.1</version>
<scope>provided</scope>
</dependency>
[/XML]

Vielen Dank für's Feedback. :)
 

Barb

Mitglied
Hallo zusammen,

es ist gelöst. In der pom.xml in beiden Projekten fehlte noch Folgendes:

[XML]
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
<include>**/*.gwt.xml</include>
</includes>
</resource>
</resources>
</build>
[/XML]

Nochmals Danke. :)
 

Ähnliche Java Themen

Neue Themen


Oben