# GWT Compiler Error unresolved Typ



## Barb (1. Nov 2012)

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!


----------



## Ullenboom (2. Nov 2012)

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


----------



## Barb (5. Nov 2012)

Ullenboom hat gesagt.:


> 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 (5. Nov 2012)

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:


```
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:


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

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


----------



## Barb (5. Nov 2012)

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 (5. Nov 2012)

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.


----------

