• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

CacheWolf selbst bauen

Sammy Raider

Geocacher
Danke für die schnelle Antwort! Das hab' ich gemacht, jetzt kommt folgender Fehler (Beim Script Buildexe.bat)
Code:
cwberlios.jnf=>CacheWolf.ewe
java.lang.IllegalStateException: There are too many strings to pool. The maximum
 is 16383
        at ewesoft.apps.classfile.ClassFile.modify(ClassFile.java:242)
        at ewesoft.apps.classfile.ClassFile.convertFiles(ClassFile.java:162)
        at ewesoft.apps.jewel.EweFileSpecs$2.doRun(EweFileSpecs.java:304)
        at ewe.sys.TaskObject.run(TaskObject.java)
        at ewe.sys.mThread.run(mThread.java)
        at ewe.sys.Coroutine.run(Coroutine.java)
java.lang.RuntimeException: Ewe file generation failed!
        at ewesoft.apps.jewel.EweFileSpecs.create(EweFileSpecs.java:501)
        at ewesoft.apps.jewel.Jewel.main(Jewel.java:193)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at ewe.reflect.Method.invokeInThread(Method.java)
        at ewe.reflect.Method.nativeInvoke(Method.java)
        at ewe.reflect.Method.invoke(Method.java)
        at ewe.ui.mApp$1.run(mApp.java)
        at ewe.sys.Coroutine.run(Coroutine.java)

Gruß Sammy
 

pfeffer

Geowizard
A)
der Fehler wird dadurch verursacht, dass jewel alle Strings irgendwie zusammenfasst und komprimiert. Wenn man die ganzen Debug-Info drin hat sind das aber zu viele, so dass es nicht klappt.
Deswegen: das Zusammenfasen und Komprimieren abschalten. Das geht so:
1. Jewl starten
2. cwberlios.jnf öffnen
3. "use string pool" abschalten
4. speichern und .exe neu produzieren.

B) noch ein wichtiger Tipp für Entwickler:
Damit man im java-Quell-Code von Ewe in Eclipse debuggen kann, muss man noch folgendes machen:
unter /run/run.../Java Application/<cachewolf-run-config>/Source/Add.../Archiv/OK/cachewolf/lib/JavaEwe.zip/Ok
Der neue Eintrag muss als oberstes in der Liste unter /run/run.../Java Application/<cachewolf-run-config>/Source stehen, also über "Default"

EDIT 10.9.2007:
Damit der java-Quell-Code von Ewe in Eclipse angezeigt wird (auch, wenn man grade nicht debuggt):
/project/properties/Java Build Path/Libraries/+ auf CompileEwe.zip/Source Attachement/Edit/Workspace/JavaEwe.zip


Schöne Grüße,
Pfeffer.
 

Sammy Raider

Geocacher
Hallo Leute,
ich will Euch micht langweilen, ihr habt sicher besseres zu tun, als mir ständig gute Tips zu geben , aber ich hab da mal wieder ein kleines(?) Problemchen:

Habe mir die neuste SVN runtergeladen, compilieren geht mit den bekannten 8 Warnungen, Bilden der EXE bzw Javaapplikation funktioniert auch. Java läuft prima, aber wenn ich versuche eine EXE zu starten kommt folgende Meldung:
Code:
 java/lang/NoClassDefFoundError: true
(In Dosfenster) und eine Messagebox mit folgendem Text:
Code:
An Error was found in the program being run by EweVM. Error: Can't create application class
Hab schon den kompletten Ordner gelöscht und neu runtergeladen: gleiches Problem.
Wäre für jede Hilfe sehr dankbar!

Grüße und schönes Wochenende Sammy
 

mirabilos

Geocacher
Welche Revision genau („svn info“ im Sourceverzeichnis
zeigt Dir das), und probier mal „svn up“ und obs immer
noch nicht klappt.
 

Sammy Raider

Geocacher
Hallo,

danke erstmal für Eure Untrestützung!
Die aktuelle Revision im CW-Verzeichnis ist 918.
Habe mir mittlerweile nochmal die komplette SVN runtergeladen, die Zip und Jar Dateien im lib-verzeichnis entpackt und bekomme jetzt folgende Meldung, wenn ich die EXE starte:
Code:
java/lang/NoClassDefFoundError: java/awt/Cursor
        at ewe.sys.Vm.getCursorHandle(Vm.java)
        at ewe.sys.Vm.<clinit>(Vm.java)
        at ewe.fx.SoundClip.<clinit>(SoundClip.java)
Ich bin fast am verzweifeln, zumal es alles schonmal funktionierte.

Gruß Sammy
 

blackeye501

Geocacher
Diesen Teil der compile.bat verkraftet W2k nicht

javac -classpath ./lib/CompileEwe.zip;./lib/ewesoft.zip;./lib/EwesoftRegex.zip;./lib/HTML.zip;./lib/openmap.jar -d ./bin/ -deprecation ./src/CacheWolf/*.java ./src/CacheWolf/*/*.java ./src/exp/*.java ./src/utils/*.java

Ich habe es folgendermasem ersetzt damit es wieder geht.

javac -classpath ./lib/CompileEwe.zip;./lib/ewesoft.zip;./lib/EwesoftRegex.zip;./lib/HTML.zip;./lib/openmap.jar -d ./bin/ -deprecation ./src/CacheWolf/*.java ./src/CacheWolf/imp/*.java ./src/CacheWolf/navi/*.java ./src/exp/*.java ./src/utils/*.java

Könnte das bitte jemand in den SVN übernehmen, oder eine bessere Lösung finden.
 

pfeffer

Geowizard
da sich MiK weigert, den Thread, der das aktuelle Verfahren wiedergibt hier als wichtig zu markieren, mache ich hier wenigstens den Link dazu rein: http://www.geoclub.de/viewtopic.php?t=22794


Wenn man selbst entwickeln will, dann sollte man sich Eclipse am einfachsten mit subclipse Plug-In herunterladen (gibt es irgendwo als fertiges Bundle). Dann legt man ein neues Projekt an und checkt das SVN-Repository aus. Wie das geht, ist in diesem Thread beschrieben. Nach dem auschecken bitte dem hier verlinkten Thread folgen.

Gruß,
Pfeffer.
 

MiK

Geoguru
Wir haben eine neue ausführliche Beschreibung zum Einrichten (http://www.geoclub.de/ftopic23210.html) deswegen entpinne ich das hier mal.
 
Oben