Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

cvs und java

0 views
Skip to first unread message

Daniel Klünder

unread,
May 30, 2001, 10:09:01 AM5/30/01
to
Hallo ng,
nachdem ich ein funktionierendes Projekt (mit Namen trevis) von einem
cvs-Server geholt habe, erhalte ich beim Starten folgende Fehlermeldung:

java.lang.ClassFormatError: trevis/Trevis (Illegal UTF8 string in
constant pool)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
Exception in thread "main"

Obwohl das Projekt eine main class besitzt und vor der Benutzung von cvs
auch funktioniert hat.

Hat jemand ne Ahnung was da los ist?

Daniel

Paul Schwann

unread,
May 30, 2001, 10:17:08 AM5/30/01
to
> Hat jemand ne Ahnung was da los ist?
>
> Daniel

Das liegt daran, das cvs in den dateien rumschmiert. Und weil es
natürlich keine Ahnung hat, wie man Java-Bytecode schreibt macht es die
class-files kaputt. Abstellen kann man das auf verschiedenen Wegen:
1. sag dem cvs, das .class dateien binary sind -> also keinerlei
modifikation bedürfen
2. entferne alle magic-keys wie $Revision:$ etc. die ausserhalb von
komentaren stehen (in den quellfiles).
3. der goldene, beste, schönste weg überhaupt: Pack deine class-files in
ein jar und schmeiss das jar ins repository. hat noch den vorteil platz
zu sparen.

Gruß Paul

Andreas Jaeger

unread,
May 30, 2001, 2:38:54 PM5/30/01
to

Irgendwie habe ich noch nie erlebt, daß jemand class-Files ins CVS
gestellt hat. Bin ich womöglich der einzige, der das nicht macht?
Ich stelle manchmal Icons als binary Einträge ein ...

Ulf Jaehrig

unread,
May 30, 2001, 2:45:42 PM5/30/01
to
Hallo,

> Irgendwie habe ich noch nie erlebt, daß jemand class-Files ins CVS
> gestellt hat. Bin ich womöglich der einzige, der das nicht macht?

Ne, glaube ich weniger... Ich kenne auch niemanden, der das tut. Die
benötigten jar-lib kann man ja gerne mit reinpacken (als binary), aber die
.class? Man würde in C++ ja auch nicht die .o mit einchecken... Abgesehen
davon, dass sie ja jederzeit regenerierbar sind, haben ja binary files in
CVS auch gewisse Nachteile (z.B. werden binaries nicht als diffs
gespeichert, so dass viele Versionen von binaries relativ viel Platz
schlucken).

Bis denne,
Ulf

Paul Schwann

unread,
May 31, 2001, 4:07:09 AM5/31/01
to
>
> > Irgendwie habe ich noch nie erlebt, daß jemand class-Files ins CVS
> > gestellt hat. Bin ich womöglich der einzige, der das nicht macht?
>

Bei uns macht das auch niemand. Wir checken nur .jar ein. Manchmal gehts
aber mit dem Teufel zu...

Gruß Paul

Marco Kaiser

unread,
May 31, 2001, 4:50:17 AM5/31/01
to

Andreas Jaeger wrote:
> Irgendwie habe ich noch nie erlebt, daß jemand class-Files ins CVS
> gestellt hat. Bin ich womöglich der einzige, der das nicht macht?
> Ich stelle manchmal Icons als binary Einträge ein ...

Nein, bist du nicht, aber manche verstehen scheinbar nicht, das es sich dabei um
eine Versionierung für _SourceCode_ handelt. CVS macht einem selbst mit HTML-Dateien,
die ja eigentlich Textdateien sind, das Leben nicht gerade einfacher.

--
Heut' debug ich, morgen brows' ich, übermorgen cast' ich die Königin auf int.
(fit&ketZman)

0 new messages