Codegenerierung Tipps
Behebung von Ausnahmeereignissen im Zusammenhang mit zu wenig Arbeitsspeicher bei der Java-Kompilierung
Es kommt vor, dass bei komplexen Mappings mit großen Schemas eine so große Menge von Code generiert wird, dass es bei der Kompilierung mit Ant zu einem java.lang.OutofMemory-Ausnahmeereignis kommt. Um dieses Problem zu beheben:
•Fügen Sie die Umgebungsvariable ANT_OPTS hinzu. Damit werden bestimmte Ant-Optionen festgelegt, wie z.B. wie viel Arbeitsspeicher dem Compiler zur Verfügung steht. Sie können die Werte wie unten gezeigt definieren.
![cg_ANT_OPTS](./images/cg_ant_opts.png)
•Um sicherzustellen, dass der Compiler und der generierte Code im selben Prozess wie Ant ausgeführt wird, ändern Sie das Attribut fork in der Datei build.xml in false um.
Je nach verfügbarem Arbeitsspeicher auf Ihrem Computer und je nach Projektgröße müssen Sie diese Werte eventuell anpassen. Nähere Informationen finden Sie in der Java VM-Dokumentation.
Bei der Ausführung des ant jar-Befehls wird eventuell eine Fehlermeldung angezeigt, dass "[...] das Archiv mehr als 65535 Einheiten enthält". Damit diese Fehlermeldung nicht auftritt, wird empfohlen, Versionen ab Ant 1.9 zu verwenden und in der Datei build.xml zum Element <jar> zip64mode="as-needed" hinzuzufügen. |
Reservieren von Methodennamen
Beim Anpassen der Codegenerierung mittels der vorgegebenen SPL-Dateien ist es unter Umständen nötig, Methodennamen zu reservieren. Gehen Sie dazu folgendermaßen vor:
1.Navigieren Sie zum Programminstallationsverzeichnis z.B. C:\Programme\Altova\MapForce2024.
2.Navigieren Sie im Unterverzeichnis spl zum Verzeichnis für die entsprechende Programmiersprache z.B. ..\spl\java.
3.Öffnen Sie entweder die Datei settings.spl und fügen Sie in den Abschnitt "reserve" eine neue Zeile ein, z.B. reserve "myReservedWord".
4.Generieren Sie den Programmcode neu.