This page (revision-37) was last changed on 23-May-2010 17:38 by ThomasBayen 

This page was created on 03-Oct-2006 21:29 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
37 23-May-2010 17:38 9 KB ThomasBayen to previous mehrere Java-Versionen parallel nutzen
36 16-Jul-2008 17:56 4 KB PeterHormanns to previous | to last Tote Links gelöscht, ein paar Tippfehler...
35 16-Jul-2008 15:09 5 KB JensKapitza to previous | to last update, überarbeitet
34 24-Apr-2008 11:37 4 KB SusanneWenz to previous | to last
33 24-Apr-2008 11:33 4 KB SusanneWenz to previous | to last Java 6
32 24-Apr-2008 11:27 4 KB SusanneWenz to previous | to last
31 14-Mar-2008 12:38 4 KB PeterHormanns to previous | to last Aktuelle Java Pakete
30 19-Feb-2008 21:08 5 KB PeterHormanns to previous | to last Kategorie raus
29 12-Jan-2008 15:29 5 KB PeterHormanns to previous | to last
28 08-Jul-2007 15:34 5 KB ThomasBayen to previous | to last Link zum 64-Bit-Browserplugin
27 24-Mar-2007 12:16 4 KB ThomasBayen to previous | to last Herausgenommen, was nichts mit Debian zu tun hat
26 17-Mar-2007 21:29 9 KB ThomasBayen to previous | to last Link zum Swing Action Manager
25 16-Mar-2007 21:39 9 KB ThomasBayen to previous | to last Links zu Tests in Java
24 20-Feb-2007 12:37 9 KB ThomasBayen to previous | to last Links sortiert, KategorieJava eingefügt
23 14-Feb-2007 14:34 9 KB ThomasBayen to previous | to last Link zu Ant
22 12-Feb-2007 20:34 9 KB ThomasBayen to previous | to last Bemerkungen zu Swing/JUnit-Bibliotheken
21 08-Feb-2007 22:34 9 KB ThomasBayen to previous | to last ein paar Anmerkungen zu Unit-Testing unter Swing

Page References

Incoming links Outgoing links

Version management

Difference between version and

Dies!!!Java>> <<ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.

Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an
und entferne diesen Text.

Vielen Dank!

{{{
= Java
>>unter Debian<< =>>

An sich ist Java ja eine gute Idee: Man ist völlig
plattformunabhängig, überall wird die gleiche Sprache gesprochen,
Java ist überall vorinstalliert etc. Leider <<siehtsah>> die Realität <<eine ganze Zeit lang >>aus
der Sicht eines Nicht-Java-Gurus wie mir etwas trauriger aus. :-(
Bereits mehrere Male hatte ich es mit Java-Programmen zu tun, die
ich als Laie "mal eben" unter Debian ausprobieren wollte. Dabei
musste ich jedes mal Java neu installieren und wusste nicht mehr,
woher ich das nun nehmen soll...<< .>>

<<DerDiese>> <<Grund,Zeiten>> <<dasssind>> <<Javaseit>> <<insbesondereEtch>> <<unter(Debian>> <<Debian4.0)>> <<nicht anständigvorbei.>>
<<unterstütztWar>> <<wird,es>> <<liegtbislang>> <<wohlso,>> <<irgendwodass>> <<inman>> <<denJava>> <<Lizenzenimmer>> <<derwieder>> <<Sprache
und
von
>> der <<benötigtenHerstellerseite>> <<Programmebei>> <<verborgen.Sun>> <<Mehrherunterladen>> <<dazumusste,>> <<weiterkann>> <<unten.nun >>
<<
==
mit
>> <<Blackdownapt>> Java <<==(JRE oderauch JDK) einfach installiert werden. >>

<<InSeit>> <<derAnfang>> <<offiziellen2007>> <<Debian Distribution >>gibt es <<nuroffizielle>> <<freie
Implementierungen
Debian-Pakete
>> <<mit >>der <<SpracheSun-VM.>> <<Java,Alternativ>> <<diesind>> <<aberauch>> <<vieleandere,>> <<Programmerichtig>> <<bisher
nicht
"freie",
>> <<ausführenVMs>> <<können.in>> <<EsDebian>> <<gibtenthalten.>> <<zweiDiese>> <<"Debian"-Wegebeiden>> <<dochWege>> <<zusind>> <<einemzum heutigen Zeitpunkt die "Empfehlung der Redaktion".  --ThomasBayen>>
<<"richtigen"
Für
>> <<JavaDebian>> <<zuEtch>> <<kommen.(aka>> <<Wenn4.0)>> <<eingibt>> <<es >>Java <<1.31.5.0>> <<oderim>> <<1.4Zweig>> <<genügt,"non-free".>> <<Java 6 >>kann<<
>>man <<dieals>> <<PaketeBackport>> <<desinstallieren.

*
>> <<Blackdownhttp://packages.debian.org/etch/sun-java5-jre
*
>> <<Projekteshttp://packages.debian.org/etch-backports/sun-java6-jre

Im
>> <<benutzen.Testing-Zweig>> <<Dortvon>> <<wirdDebian>> <<das(künftige>> <<Java
von
Version
>> <<Sun"Lenny")>> <<fürsind>> <<verschiedeneJava5>> <<Linuxund>> <<PlattformenJava6>> <<(z.B.verfügbar:

*
>> <<auchhttp://packages.debian.org/lenny/sun-java5-jre
*
>> <<PowerPC)http://packages.debian.org/lenny/sun-java6-jre>>
<<portiert.
--PeterHormanns

:
>> <<DazuDank>> <<trägtUbuntu>> <<manwurden>> <<inneue>> <<dieLizenzen>> <</etc/apt/sources.listgemacht>> <<zumund>> <<Beispiel
ein:

seit
>> << debSun>> <<http://ftp2.skynet.be/pub/ftp.blackdown.org/debian/mit>> <<sarge
non-free

Dann
"Java
>> <<ruftwird>> <<manOpenSource">> <<auf

einen
>> << apt-getneuen>> <<update
Weg
>> << apt-geteingeschlagen>> <<installhat>> <<j2sdk1.4

oder
ist
>> <<auch

es
>> << apt-getin>> <<installZukunft>> <<j2re1.4

wenn
bestimmt
>> <<einemweiterhin>> <<dieeinfach>> <<Java-Laufzeitumgebungzu>> <<genügt.installieren sein.>>

<<==!!Das>> <<Das >>Original von Sun <<==(so war es)>>

<<Der zweite Weg: >>Man lädt sich das SDK für Linux als .bin-Datei von
<<http://java.sun.com[http://java.sun.com]>> herunter.
Dann installiert man das Paket java-package (in Debian/contrib):

 apt-get install java-package

Damit wird das Skript make-jpkg installiert, mit dem man aus der
.bin-Datei ein Debian-Paket erzeugt. Das wird dann ganz normal
installiert. Zum Beispiel:

 fakeroot make-jpkg jre-1_5_0_02-linux-i586.bin
 dpkg -i sun-j2re1.5_1.5.0+update02_i386.deb

Übrigens kann ''java-package'' auch die IBM-Implementierung von
Java zu einem Paket machen. Diese läuft ebenfalls anstandslos unter
Debian Linux. Im Gegenteil ist mir mit dem Java von Sun mein
Eclipse auf einem UML-System dauernd abgestürzt - mit dem IBM-Java
gehts. -- ThomasBayen

<<==!Java>> <<Wirklich6>> <<Freimit>> <<==java-package>>

<<Java 6 wird von java-package in Etch nicht unterstützt, was sich in der Fehlermeldung {{{No matching plugin was found.}}} zeigt. Das kann aber leicht angepasst werden:

  cd /usr/share/java-package
  cp -a sun-j2sdk1.5 sun-j2sdk1.6

Editiere die erste Zeile in sun-j2sdk1.6/install

  suffix=j2sdk1.6-sun

Editiere sun-j2sdk.sh und füge folgendes zur i386 Section:

   "jdk-6u"[0-9]"-linux-i586.bin") # SUPPORTED
           j2se_version=1.6.0+update${archive_name:10:2}
           j2se_expected_min_size=130
           found=true
           ;;

Analog geht das Ganze natürlich auch für JRE.


!!Wirklich Frei

>>Unter Linux gibt es mittlerweile eine ganze Anzahl von
Java-Virtuellen-Maschinen, die ich für die eigene
Programmentwicklung auf jeden Fall empfehle (wir wollen doch freie
Software entwickeln, oder?):

Die freien Java-Implementierungen sind mittlerweile durchaus in der
Praxis einsetzbar. Ab Kaffe 1.1.3 läuft der Tomcat 4 unter dieser
VM und an Eclipse wird heftig gearbeitet: Mit GCJ 4.0 soll Eclipse
3.1 out of the Box funktionieren!

* Mit dem Gnu-Java-Compiler (GCJ) lassen sich viele Java-Projekte
in Binär-Code übersetzen. Wenn jemand freie Software mit Java
entwickeln will, dann empfehle ich diesen Weg, denn so lassen sich
auch Binärprogramme für Windows kompilieren!

* Auch im Debian-Projekt tut sich einiges. Durch die Fortschritte
bei Kaffe und beim GCJ können viele Java-Bibliotheken und Programme
mit diesen Compilers und Java-VMs übersetzt werden. Sie wandern
dann in die Debian-Main-Distribution. Siehe
http://wiki.debian.org/Java/MoveToMain

<<!!64-Bit-Systeme>>
<<==
Grundsätzlich
>> <<Linksfunktioniert>> <<==Java auch auf 64-Bit-Systemen sehr gut. Leider gibt es von Sun jedoch kein richtiges Browser-Plugin, so das Applets und JavaWebStart gehandicapt sind. Hierzu gibt es Hinweise auf der Seite LinuxMit64Bit.>>
<<
*
:
>> <<Statusein>> <<Java32>> <<inBit>> <<Sarge:Chroot wird verwendet --JensKapitza>>
<<http://lists.debian.org/debian-devel-announce/2005/06/msg00002.html>>

<<===
!!mehrere
>> <<Java-Versionen parallel nutzen

''(Dieser Text basiert auf EMail-Verkehr zwischen ThomasBayen und ThomasThiessen.)''

Ursprung des Problems ist, daß viele Debian-Pakete von Java-Programmen als Paketabhängigkeit nicht die Java-VM von
>>Sun <<angeben, sondern z.B. mit GCJ vorkompiliert sind.

Grundsätzlich sollte es möglich sein, mehrere Java-Installationen parallel zu betreiben. Das jeweilige Programm hat dann zwei Stellen, über die eine Auswahl getroffen wird. Zum einen startest Du ja ein bestimmtes Executable, um Java zu starten
>>und <<IBMzum>> <<liefernanderen>> <<sucht sich dieses dann seine Bibliotheken und sonstigen Krams im >>Java <<fürInstallationsverzeichnis>> <<Linuxzusammen,>> <<===das man mit der Umgebungsvariable {{$JAVA_HOME}} benennt.>>

<<* http://java.sun.com/>>
<<*!>> <<http://java.sun.com/linux/alternatives-Mechanismus>>
<<* http://www.ibm.com/java/>>
<<*Die>> <<http://www.blackdown.org/standardmäßig benutzte Installation änderst Du über das Tool "update-alternatives".>>

<<*>> <<ausführlichere update-alternatives>> <<Installationsanleitung:--config java>>
<<http://serios.net/content/debian/java/  update-alternatives --config javac>>

<<===Informationen,>> <<Freiewas>> <<Java-VMseingestellt>> <<===ist, gibts mit>>

<<*>> <<http://www.kaffe.org/
*
 update-alternatives
>> <<http://gcc.gnu.org/java/--display java>>
<<*>> <<http://www.pro-linux.de/berichte/gnu-classpath1.html update-alternatives --list javac>>

<<===>> <<Java-TutorialsLies>> <<undmal>> <<Online-Bücherdie>> <<===manpage. Aufschlussreich ist auch, mal>>

<<*>> <<http://www.inventivio.com/help4j.html ls>> <<--l>> <<Programm,/etc/alternatives/j*>> <<das|>> <<eineless -S>>
<<Java-Hilfe
anzuzeigen.
>> <<anbietetDas>> <<(kostenlos,ganze>> <<aberfunktioniert>> <<nichtso,>> <<frei)
*
daß
>> <<http://www.galileocomputing.de/openbook/javainsel4ein>> <<-Aufruf>> <<Buch"{{java}}">> <<"Java
auf der Kommandozeile über den normalen Suchpfad für ausführbare Dateien "{{/usr/bin/java}}" ausführt. Dieses
>>ist <<auchdann>> <<eineaber>> <<Insel"ein>> <<(deutsch)
*
Softlink
>> <<http://www.softwareacademy.de/Java/001%20JAVA.htmauf>> <<-"{{/etc/alternatives/java}}".>> <<BuchDieses>> <<"Javawiederum>> <<2
Magnum"
ist
>> <<(deutsch)
*
dann
>> <<http://www.informit.de/books/java2_komp/data/start.htmein>> <<-Link>> <<Buch
"Java
auf
>> <<2die>> <<Kompendium"wirklich>> <<(deutsch)
*
von
>> <<[http://java.sun.com/j2se/javadoc/Dir>> <<Javadoc]ausgewählte>> <<-Java-Installation.>> <<AnleitungDiese>> <<zum
Javadoc-Tool,
Auswahl
>> <<umkannst>> <<Du >>automatisch <<API-Dokumentationenvornehmen>> <<zulassen>> <<erstellen

===
oder
>> <<Web-Programme >>mit <<Javaupdate-alternatives>> <<===

*
beeinflussen.
>> <<TomcatUnterDebianDie>> <<-automatische>> <<UmAuswahl>> <<Webservicesstellt>> <<indie>> <<JavaSun-VM>> <<anbietenimmer>> <<zuganz>> <<können,
empfiehlt
nach
>> <<sichhinten>> <<in >>die <<InstallationPrioritäten-Liste,>> <<vonweil>> <<Tomcat.sie nicht frei ist.>>

<<Java-Template-Engines!>> <<{{$JAVA_HOME}} setzen>>

<<*Das>> <<http://java-source.net/open-source/template-engineszweite>> <<-ist>> <<Übersicht
über
nun,
>> <<Template-Engines
*
das
>> <<[http://jakarta.apache.org/velocity/index.html{{$JAVA_HOME}}>> <<Velocity]anzugeben.>> <<-Soviel>> <<Das,
was
ich
>> <<alleweiss,>> <<benutzen.muss>> <<erprobtman>> <<das normalerweise bei aktuellen Versionen nicht mehr machen, weil das "java"-Executable seinen eigenen Pfad erkennt >>und <<stabil,dann>> <<hatsein>> <<abereigenes>> <<Grenzen,Installationsverzeichnis>> <<wennnimmt>> <<''(kann da jemand was zu sagen, der >>es <<an
komplexe
genauer
>> <<Problemeweiss?)''.>> <<geht<br>(NachtragHast>> <<vonDu>> <<Markus)das>> <<-Gefühl,>> <<Aufnahme
von
da
>> <<Velocitystimmt>> <<in
Debian-[http://packages.debian.org/unstable/web/velocity
was
>> <<Pool]nicht,>> <<laut
[http://www.debian.org/News/weekly/2005/17/
kannst
>> <<Debian-Weekly-News]Du>> <<Nr.aber immer mit>>
<<17/2005>>
<<*>> <<FreeMarker export>> <<-JAVA_HOME>> <<Erweiterte/usr/lib/jvm/java-6-sun

diese
>> <<MöglichkeitenUmgebungsvariable>> <<alssetzen.>> <<Velocity,Grundsätzlich>> <<Dokukann>> <<etwas
unübersichtlich.
man
>> <<Kannso>> auch <<esoterischeden>> <<ProblemeJava6>> <<lösen,Compiler>> <<wobeinehmen,>> <<dann
aber
>>die <<SyntaxJava5>> <<etwasBibliotheken>> <<leidet
*
oder
>> <<[http://www.jamon.org/Features.htmlsolche>> <<Jamon]Spielchen.>> <<-Das>> <<scheintist>> <<sehraber>> <<gutnur selten sinnvoll.>>
<<Komponenten
Für
>> <<zuspeziell>> <<unterstützen,Deinen>> <<inspiriertFall>> <<von
[http://teatrove.sourceforge.net/
sollte
>> <<Mason]
*
es
>> <<[http://teatrove.sourceforge.net/eigentlich>> <<Tea]so>> <<-sein,>> <<Template-Sprachedaß>> <<von
Disney.
es
>> <<guteDeinem>> <<Doku,ebay-Tool>> <<eigentlich egal sein sollte, mit welcher Java-Installation es läuft. Natürlich gibt es Unterschiede, >>aber <<letztees>> <<Versionist>> <<recht unwahrscheinlich, daß es ein verbreitetes Jeva-Programm gibt, das mit der Java6se-VM >>von <<2002Sun nicht läuft.>>
<<*
Also
>> <<[http://jasperreports.sourceforge.net/index.htmlinstallierst>> <<JasperReports]Du>> <<-
Reportgenerator
zuerst
>> <<(keinjava6>> <<echtevon>> <<Template-Engine),Sun.>> <<machtDann>> <<eineninstallierst>> <<sehr
guten
Du
>> <<Eindruck
*
Dein
>> <<http://java-source.net/open-source/jsp-tag-librariesebay-Tool.>> <<-Dabei>> <<Übersicht
über
installiert
>> <<JSPDir>> <<Tagder>> <<LibrariesDebian Paket-Manager unter Umständen allen möglcihen Quatsch dazu. Da das IMHO nicht wirklich nötig ist, weist das auf ein falsch konfiguriertes Paket hin. Vielleicht weist Du den Paket-Maintainer darauf hin, daß er die Paketabhängigkeiten besser ausdrücken sollte.>>

<<Web-Frameworks

*
Da
>> <<[http://struts.apache.orgnun>> <<Struts]zwei>> <<-VMs>> <<Das,installiert>> <<wassind,>> <<allehat>> <<benutzen:der>> <<Alt,
ausgereift,
Prioritätenmechanismus
>> <<großevon>> <<Nutzerbasis,update-alternatives>> <<etwasdie>> <<angestaubtfreie>> <<VM nach oben geholt. Das erkennst Du mit "{{java -version}}". Du nimmst nun update-alternatives >>und <<wenigstellst>> <<innovativ
*
das
>> <<[http://jakarta.apache.org/turbine/index.htmlwieder>> <<Turbine]zurück.>> <<-(wieder testen mit "{{java -version}}".) Dann sollten eigentlich alle Programme glücklich laufen.>>
<<Jakarta-Projekt,
Sollte
>> <<Dein ebay-Tool nun wirklich nicht laufen, so benötigst Du dafür ein Startskript, >>das <<behauptet,die>> <<etwasUmgebungsvariable>> <<modernerJAVA_HOME>> <<zuwoandershin>> <<seinsetzt>> <<alsund>> <<Struts
*
dann
>> <<[http://jakarta.apache.org/tapestry/index.htmlein>> <<Tapestry]anderes>> <<-Executable>> <<hatstartet.>>
<<einen
!
>> <<interessantenund>> <<objektorientiertenwas>> <<(stattist>> <<aktionsorientierten)mit GCJ?!?>>
<<Ansatz>>
<<*Als>> <<[http://springframework.orgletzte>> <<Spring]Problemmöglichkeit>> <<-könnte>> <<intelligentees>> <<Idee,sein,>> <<um
Objekte
daß
>> <<loseDein>> <<zuTool>> <<koppelnGCJ-kompiliert>> <<(aberist.>> <<IMHODas>> <<seltsamist>> <<umgesetzt),ein>> <<umfangreiche
Doku,
Compiler,
>> <<allesder>> <<aus Java echte Linux-Executables macht. Ob die Dinger dann noch irgendwie >>in <<allemeiner>> <<etwasanderen>> <<aufgebläht
*
VM
>> <<[http://jodd.sourceforge.net/laufen,>> <<Jodd]weiss>> <<-ich>> <<Schlankernicht.>> <<alsVielleicht>> <<Struts,muss>> <<sieht
nützlich
man
>> <<aus,da>> <<abernur>> <<letzteJAVA_HOME>> <<Versionsetzen,>> <<vonvielleicht>> <<Oktoberist>> <<2004
*
das
>> <<[http://niggle.sourceforge.net/zu>> <<Niggle]startende>> <<-Executable>> <<Servlets-Framework,auch>> <<erstmal ein Skript, in >>das<<
Freemarker
>> <<man hineinsehen >>und <<Velocityschlau>> <<unterstützt,werden>> <<nichtskann...?!?>> <<NeuesVielleicht>> <<seitschreibt>> <<2002dazu mal jemand hier, der damit mehr Erfahrung hat.>>
<<*
!
>> <<[https://rife.dev.java.net/und>> <<Rife]unter>> <<-Eclipse?

Wenn
>> <<SollDu>> <<jetzt >>mit <<demEclipse>> <<berühmten
[http://www.rubyonrails.org/
arbeitest,
>> <<Rubysind>> <<ondie>> <<Rails]Regeln>> <<vergleichbarübrigens>> <<sein
*
wieder
>> <<[http://grails.org/neu>> <<GRails]gemischt.>> <<-Eclipse>> <<darfselber>> <<nichtwird>> <<Groovymit>> <<onder>> <<RailsStandard-VM>> <<heißen
;-)
gestartet.
>> <<Mit welcher Du entwickelst, kannst Du dann in den Eclipse-Einstellungen sehen. Dort kannst Du einen Suchlauf starten, der alle VMs auf Deinem System findet. Dann kannst Du eine Standard-VM aussuchen >>und <<schonin>> <<jedem Projekt wieder eine eigene auswählen. Dabei hast Du auch >>die <<VersionWahl,>> <<0.1nur>> <<siehtbestimmte>> <<sehrKriterien>> <<verheißungsvollanzugeben,>> <<aus
*
so
>> <<Vergleichedaß>> <<Du z.B. eine Java5-Umgebung bekommst, egal, >>von <<Web-Frameworks
**
welchem
>> <<http://www.dynabean.de/download.html
**
Hersteller.
>> <<http://bdn.borland.com/article/borcon/files/6000/paper/6000.html>>
<<**
--
>> <<http://www.oreilly.de/catalog/javaebp/chapter/ch03.htmlThomasBayen>>

<<Persistenz-Frameworks>>

<<!!Links
>>* <<[http://hibernate.orgStatus>> <<Hibernate]Java>> <<-in>> <<Persistenz-FrameworkSarge:>> <<(deutschehttp://lists.debian.org/debian-devel-announce/2005/06/msg00002.html>>
<<Artikel*>> <<z.B.
[http://www.torsten-horn.de/techdocs/java-hibernate.htm
http://ant.apache.org
>> <<1]- Homepage des Java-Buildtools ApacheAnt (vergleichbar mit ''make'')>>
<<[http://www.javamagazin.de/itr/online_artikel/psecom,id,596,nodeid,11.html
2])
>>* <<[http://www.jenkov.com/mrpersister/introduction.tmplAllgemeine>> <<Mr.Informationen Tips und Tricks auch auf der [Java] Seite der LUG Krefeld>>
<<Persister]
>>* <<[https://glassfish.dev.java.net/javaee5/persistence/Anfang>> <<J2EE2007>> <<1.5]
enthält
gab
>> <<es >>eine <<standardisierteDiskussionJavaStart>> <<Persistenzmit>> <<API,jemandem,>> <<der neu mit Java anfangen wollte. Dort stehen für Neulinge evtl. auch einige interessante Tips, >>die<< hier noch nicht eingearbeitet wurden.>>
<<Glassfish-Implementierung
!Sun
>> <<stehtund>> <<unterIBM>> <<einerliefern>> <<Opensource-LizenzJava>> <<(derfür Linux>>
<<[http://www.opensource.org/licenses/cddl1.php*>> <<CDDL]).http://java.sun.com/
*
>> <<Diehttp://java.sun.com/linux/
*
>> <<APIhttp://www.ibm.com/java/

!Freie
>> <<wirdJava-VMs>>
<<auch*>> <<vonhttp://www.kaffe.org/
*
>> <<Hibernatehttp://gcc.gnu.org/java/
*
>> <<unterstützt.http://www.pro-linux.de/berichte/gnu-classpath1.html>>
<<}}}
<<[{Tag Debian Java}]