This page (revision-13) was last changed on 08-Apr-2011 11:57 by ThomasBayen 

This page was created on 22-Jun-2009 20:31 by ThomasBayen

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
13 08-Apr-2011 11:57 10 KB ThomasBayen to previous Verweis auf Gradle als Alternative
12 22-Mar-2010 22:48 9 KB MarkusMonderkamp to previous | to last infonode docking framework
11 28-Oct-2009 15:25 9 KB ThomasBayen to previous | to last Ant-Skripte und neuer Link
10 13-Jul-2009 22:04 7 KB ThomasBayen to previous | to last Erfahrungen mit Mercurial unter Eclipse
9 13-Jul-2009 20:22 5 KB ThomasBayen to previous | to last Pfad zu unserem Projekt
8 10-Jul-2009 12:18 5 KB ThomasBayen to previous | to last
7 10-Jul-2009 08:39 5 KB MarkusMonderkamp to previous | to last Ivy-IDE
6 08-Jul-2009 20:35 5 KB ThomasBayen to previous | to last Link zu Ivy als Alternative fürs Dependency Management
5 30-Jun-2009 00:26 5 KB JensKapitza to previous | to last hudson, nexus, sonar (Maven-Repository)
4 22-Jun-2009 21:10 4 KB ThomasBayen to previous | to last Mercurial, Maven, Eclipse
3 22-Jun-2009 20:46 5 KB ThomasBayen to previous | to last Eclipse
2 22-Jun-2009 20:38 3 KB ThomasBayen to previous | to last MercurialVersionControl ==> MercurialVersionControlServer
1 22-Jun-2009 20:31 3 KB ThomasBayen to last Projektumgebung mit Mercurial-Artikel

Page References

Incoming links Outgoing links

Version management

Difference between version and

= Projektumgebung  =

Diese Seite ist die erste Folge einer Artikelserie zur Erstellung einer Swing Applikation. Als erstes benötigen wir eine Infrastruktur zum Austausch unserer Daten im Projektteam. Außerdem müssen wir uns auf eine IDE einigen.



>>== gemeinsames Wiki ==

Wir benutzen das LUG-Wiki für unser Beispielprojekt. Leider funktioniert das Einloggen nicht mehr so, wie auf der [Startseite|Main] angegeben (Hallo Peter!). Hierzu kann man oben rechts auf "meine Einstellungen" klicken und dann die angegebene IP-Adresse durch einen Wiki-Namen ersetzen. Danach taucht am oberen Rand der Wiki-Texte ein neuer "Bearbeiten"-Button auf. Ab jetzt können wir Informationen austauschen.



== Austausch von Dateien <<- Versionskontrolle >>==

Der vermeintlich einfachste Weg ist, tar-Archive zu erzeugen und herumzusenden. Hat ein Projekt aber mehr als einen Benutzer, entsteht so schnell ein Durcheinander, weil mehrere Teilnehmer gleichzeitig Änderungen vornehmen wollen. Dafür gibt es Versions-Kontrollsysteme (VCS, siehe auch VersionsVerwaltung) wie CVS (KurzAnleitungCVS), SubVersion, Bazaar, GIT oder Mercurial (siehe auch <<MercurialVersionControl).MercurialVersionControlServer).>>

Die neueste Generation der VCS arbeitet dezentral, d.h. jeder Projektteilnehmer hat für sich selber eine vollständige Version des gesamten Repositories. Dann können später einzelne sog. "changesets", d.h. Änderungs-Sätze ausgetauscht werden, bis beide Repositories wieder synchronisiert sind. Bei den dezentralen VCS gibt es als bekannteste Vertreter Bazaar, GIT oder Mercurial. ThomasBayen hat sich im Frühjahr 2009 nach einiger Recherche für Mercurial entschieden, das am weitesten verbreitet zu sein scheint. Außerdem gibt es ein halbwegs vernünftiges Eclipse-Plugin.

Ja, genau: Laut [Vergleich Mercurial vs. GIT|http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/] scheint mir Mercurial hier die passende Wahl zu sein. --MarkusMonderkamp

Eine deutsche Erklärung zu Mercurial: http://intevation.net/~thomas/mercurial-lt2006/#id2452004 -- ThomasThiessen

<<
>>Mercurial kann man in einem Debian-System installieren mit

 aptitude install mercurial
<<  >>
<<Die
einige
>> <<wichtigstenMercurial-Befehle:

>> <<Befehle hg>> <<sindclone>> <<aufssh://username@hg.javaproject.de/../groups/mercurial/repos/meinprojekt>> <<dermeinprojekt

Holt
>> <<Seitedas>> <<MercurialVersionControlangegebene>> <<verzeichnet.Repository vom angegebenen Server. Es entsteht ein neues>>
<<


==
Verzeichnis
>> <<Projektverwaltung"meinprojekt",>> <<(Mavenin>> <<2)dem>> <<==man dann arbeiten kann.>>

<<[Maven]Die>> <<istweiteren>> <<einBefehle>> <<Projektmanagement-Toolinnerhalb>> <<fürdes>> <<Java.Repositories>> <<Esausführen:

>> <<ist hg>> <<zumstatus

Zeigt
>> <<einenvon>> <<einmir>> <<Ersatzselber>> <<fürgeänderte>> <<ApacheAnt,Dateien>> <<weil(vorne>> <<es'M')>> <<dieund>> <<meistenneue>> <<einfachenDateien>> <<Ant-Buildskripte(vorne>> <<ersetzt.'?')>> <<Manan.

>> <<benutzt hg>> <<dortadd
>> <<sogenannte 
Nimmt
>> <<Plugins,alle>> <<dieneue>> <<manDateien>> <<mitin>> <<standardisiertendie>> <<BefehlenVersionsverwaltung>> <<startetauf.>> <<undBeachtet>> <<dabei
>>die <<ggf.Filter-Einstellungen>> <<automatischin>> <<heruntergeladen".hgignore".
>> <<nud >> <<augeführt
>> <<werden. hg>> <<Einercommit>> <<der-m>> <<vielgerühmten"texttexttext"

Schreibt
>> <<Vorteilealle>> <<vonÄnderungen>> <<Mavenin>> <<ist >>das <<Abhängigkeitsmanagement,lokale>> <<d.h.Repository.

>> <<man hg>> <<hatoutgoing>> <<einessh://tbayen@hg.javaproject.de/../groups/mercurial/repos/meinprojekt

Zeigt
>> <<Artdie>> <<Paketmanagerausgehenden>> <<fürUnterschiede>> <<JAR-Bibliotheken.zwischen>> <<Dasdem>> <<funktioniertRepository>> <<ganzauf>> <<gutdem>> <<(solangeServer
und
>> <<diemeinem>> <<Bibliothekeneigenen>> <<Repository (d.h. dem ,was ich >>mit <<einercommit>> <<ordentlichenauch>> <<POM-Dateieingecheckt
habe)
>> <<versehenan.

>> <<und hg>> <<insincoming>> <<zentralessh://tbayen@hg.javaproject.de/../groups/mercurial/repos/meinprojekt

Wie
>> <<Repositoryoutgoing,>> <<eingestelltzeigt>> <<wurden).aber>> <<Einedie>> <<andereneuen>> <<bekannteÄnderungen>> <<Eigenschaftauf>> <<ist,dem>> <<daßServer>> <<Mavenan.

Diesen
>> <<esBefehl>> <<sehrwieder>> <<einfacheine>> <<macht,Verzeichnisebene>> <<automatischoberhalb>> <<Webseitendes>> <<zuRepositories>> <<einemausführen:

>> <<Projekt hg>> <<zupush>> <<erzeugen.ssh://username@hg.javaproject.de/../groups/mercurial/repos/meinprojekt>>

<<Maven2schreibt>> <<gibtsalle>> <<unterÄnderungen>> <<http://maven.apache.org/.aus>> <<Ichdem>> <<habelokalen>> <<esRepository>> <<überin>> das <<Debian-Paketentfernte>> <<"maven2"Repository
auf
>> <<installiert.dem Server hg.javaproject.de, auf dem ich einen SSH-Zugang habe.>>



<<
>>== Entwicklungsumgebung [Eclipse] ==

Wir haben uns auf die EclipseIDE als Entwicklungsumgebung (IDE) geeinigt. Dies hauptsächlich, weil wir bisher einige Erfahrungen damit haben. Eine gute und auch freie Alternative ist auch [Netbeans] (siehe auch NetbeansVsEclipse).

Wir benutzen folgende Plugins, deren Installation ggf. auf EclipsePlugins näher beschrieben ist:

* http://www.vectrace.com/mercurialeclipse/ - Mercurial Plugin
* http://m2eclipse.codehaus.org/

Das Mercurial Plugin ist eigentlich nicht unbedingt nötig. Man kann Mercurial auch von der Kommandozeile aus bedienen, wenn man das möchte. Über das Plugin ist es halt etwas komfortabler.

Das M2Plugin (für Maven) ist eigentlich ein Muss, weil ohne dieses die<<
>>Auflösung von Abhängigkeiten <<(um die es bei Maven ja geht) >>nicht in den Eclipse-Classpath übernommen würde.<<
>>Es gibt zwar ein reguläres Maven-Plugin namens "eclipse:eclipse", das<<
>>grundsätzlich auch funktionieren würde, das aber mit M2Eclipse nicht sonderlich<<
>>kompatibel ist. Es müsssten sich also alle Teammitglieder für die gleiche<<
>>Lösung entscheiden und M2 ist recht komfortabel, wenn es einmal installiert<<
>>ist.

Ich habe <<eindas>> <<vorhandenesvorhandene>> <<(bereits über die Kommandozeile ausgechecktes) >>Projekt folgendermassen in Eclipse eingebunden: Ich<< habe
>>das Projekt per mercurial in einen vorhandenen Eclipse-Workspace ausgecheckt.<<
>>Dann habe ich in Eclipse "File -> New -> Java Project" ausgewählt. Dann habe<<
>>ich den Namen meines Projektverzeichnisses angegeben und in diesem sowie dem<<
>>folgenden Wizard-Fenster auf "Weiter" bzw. "Finish" geklickt. Eclipse hat<<
>>dabei dann eben kein neues Projekt angelegt, sondern mein vorhandenes so wie<<
>>es ist eingebunden.



== noch offene Themen ==

* Maven oder nicht
* eigenes Maven-Repository nötig?

<<----
<<[{Tag VersionsVerwaltung Eclipse}]