Kategorien |
Donnerstag, 25. März 2010Jira4 und https
Um Jira4 mit SSL im Tomcat und selbstsigniertem Zertifikat ans Laufen zu bringen war ein bisschen knobeln angesagt.
SSl selbst geht ja erstmal einfach: http://wiki.blackslash.de/software/ssl Allerdings meldet das Jira dann den Fehler "Error loading gadget: org.apache.shindig.gadgets.GadgetException: Unable to retrieve gadget xml. HTTP error 500". Das Problem dabei ist, dass Jira dem selbst signierten Zertifikat ersteinmal vertrauen muss, bevor Inhalte inkludiert werden.
Mittwoch, 21. Oktober 2009Nexus auf Gentoo installieren
Seit fast drei Jahren arbeite ich nun mit Maven. Vor kurzen habe ich jedoch erst die Software Sonatype Nexus entdeckt - ein Proxy und Artifaktmanager für Maven-Artefakte.
Wolf-u.li bescheibt die Installation von Nexus unter Gentoo. Da mir die beschriebene manuelle Installation zu langwierig ist, habe ich dazu mal ein EBuild [1] gebaut. Dieser ist im Gentoo-FeM-Overlay zu finden, welchen man idealerweise mit Layman benutzt. Die Einrichtung des FeM-Overlays ist in diesem Beitrag erklärt. Anschließend kann man Nexus mit folgendem Kommando installieren:
[1] http://subversion.fem.tu-ilmenau.de/repository/fem-overlay/trunk/dev-java/nexus/ Dienstag, 23. Juni 2009
Subversion svn+ssh Geschrieben von DeKa
in Subversion, Windows um
11:56
Kommentare (0) Trackbacks (0) Subversion svn+ssh
Manchmal kommt man doch unfreiwillig in die Gelegenheit eine svn+ssh Verbindung für ein Subversion-Repository verwenden zu müssen. Wenn ich nun unter Windows per Kommandozeile ein paar Subversion-Kommandos absetzen will, dann kommt folgende Fehlermeldung (unter Linux würde das jetzt natürlich sofort funktionieren ):
In meinem Fall (Vista) muss ich dazu in die C:\Users\$user\AppData\Roaming\Subversion\config folgenden Eintrag hinzufügen:
Es muss ein Pfad zu einem Putty plink.exe angegeben werden, bzw. in meinem Fall lieber die TortoisePlink.exe vom TortoiseSVN. Anschließend werden die Daten der gespeichertern Plink-Verbindung genutzt und man kann sich das Diff nun ohne Fehlermeldung ansehen. Montag, 12. Januar 2009Cocoon 2.2 Properties
Das Verhalten von Cocoon läßt sich sowohl in Spring und Avalon-Konfigurationsdateien, als auch über Properties steuern.
In welcher Reihenfolge nach Property-Dateien gesucht wird, ist hier beschrieben. Mittwoch, 7. Januar 2009Uploads in Cocoon 2.2
In Cocoon 2.2 einen Dateiupload zu realisieren ist relativ trivial. Jedoch sind die dazu nötigen Parameter recht spärlich dokumentiert, sodass ich schon eine Weile suchen musste, bis der Upload funktionierte.
So muss man in einer beliebig benannten properties-Datei im Verzeichnis META-INF/cocoon/properties folgende Eigenschaften setzen:
Anbei ein Minimalbeispiel: cocoon-uploaddemo.zip Donnerstag, 18. Dezember 2008
Foreign-Keys in Hibernate benennen Geschrieben von DeKa
in Java um
10:22
Kommentare (0) Trackbacks (0) Foreign-Keys in Hibernate benennen
Wenn man sich mit Hibernate [1] eine Datenstruktur erzeugen lässt, dann haben die Foreignkeys standardmäßig kryptische Namen. Das liegt daran, dass normalerweise einfach ein Hash über den Tabellen- und Spaltennamen gebildet wird. Möchte man andere Namen verwenden, etwa um eine mögliche Fehlermeldung besser deuten zu können, so kann man diese mit einer Annotation [2] festlegen.
[1] http://www.hibernate.org [2] http://www.hibernate.org/hib_docs/annotations/reference/en/html/entity.html#entity-hibspec-singleassoc Montag, 8. Dezember 2008
mod_rewrite für Java Web-Anwendungen Geschrieben von DeKa
in Java um
15:26
Kommentare (0) Trackbacks (0) Tags für diesen Artikel: java, urlrewrite
mod_rewrite für Java Web-Anwendungen
Für Java gibt es ein interessantes Projekt namens urlrewrite [1], welches das bekannte mod_rewrite für den Apache Webserver nachzubilden versucht.
Mit diesem Filter, ist es möglich, eine Java-Webanwendungen nachzurüsten und beliebige URLs umzuschreiben. Ein Beispiel habe ich hier hinterlegt. [1] http://code.google.com/p/urlrewritefilter/ Montag, 27. Oktober 2008
Server-Zertifikat installieren Geschrieben von DeKa
in Java, JBoss um
21:10
Kommentare (0) Trackbacks (0) Server-Zertifikat installieren
Möchte man mit einem Java Webservice auf einen anderen Webservice über eine HTTPS-Verbindung zugreifen (z.B. von einem Jira zu einem Fisheye), dann muss man zunächst das Serverzertifikat im Truststore vom Client installieren.
Solange das Zertifikat nicht installiert ist, meldet der Client:
Zur Installation des Zertifikats hat Andreas Sterbenz [1] ein nettes kleines Tool namens "InstallCert" [2] geschrieben, was den Vorgang etwas vereinfacht. Zunächst muss man das Tool herunterladen und kompilieren:
Danach wird das Tool ausgeführt und das Zertifikat wird in einen lokalen Truststore installiert:
Eine Datei namens "jssecacerts" wird erstellt. Anschließend muss man sein Javaprogramm nur mit einem weiteren Systemproperty mit dem Pfad zum Truststore aufrufen und der Zugriff über HTTPS kann nun erfolgen:
Verbindung erfolgreich. [1] http://blogs.sun.com/andreas/entry/no_more_unable_to_find [2] http://blogs.sun.com/andreas/resource/InstallCert.java Freitag, 24. Oktober 2008
Compilation errors on restricted classes Geschrieben von DeKa
in Java um
09:12
Kommentar (1) Trackbacks (0) Compilation errors on restricted classes
Möchte man die Dependency Injection von Spring nutzen, muss man mittweilen die zu injizierenden Resourcen mit der Annotation javax.annotation.Resource markieren.
Nach dem Umstieg von Eclipse 3.3 (Europa) auf Eclipse 3.4 (Ganymede) begrüßten mich in meinen Projekten viele der folgenden Fehlermeldungen: "Access restriction: The type Resource is not accessible due to restriction on required library <jre_path>/lib/rt.jar". Das Projekt ließ sich nicht kompilieren. Nach einigen Recherchen fand ich heraus, dass derartige Fehlermeldungen vom Eclipse JDT erzeugt werden, falls man Nicht-API Klassen [1] wie sun.* verwendet. Dummerweise wird diese Fehlermeldung in diesem Fall fälschlicherweise auch erzeugt. Um Weiterarbeiten zu können kann man die Fehlererzeugung für diesen Fehler abschalten: Window -> Preferences -> Java -> Compiler -> Errors/Warnings -> Deprecated and restricted API -> Forbidden reference (access rules) -> Warning [1] http://java.sun.com/products/jdk/faq/faq-sun-packages.html Mittwoch, 22. Oktober 2008
JBoss mit Spring Deployer nachrüsten Geschrieben von DeKa
in Java, JBoss um
19:24
Kommentar (1) Trackbacks (0) JBoss mit Spring Deployer nachrüsten
Um EJB3 und Spring Komponenten gemeinsam zu verwenden, und ggf. gegenseitig auf sich zugreifen zu lassen, müssen diese auf einem Server gemeinsam installiert (deploy-t) werden. Da es keinen Sinn macht, für jede Spring Anwendung die kompletten Bibliotheken zu hinterlegen (und damit mehrfach auf dem Server), haben Ales Justin [1] und mittlerweile 78 weitere Entwickler einen JBoss-Spring-Deployer [2] gebaut.
Um diesen zu verwenden, muss man sich zunächst den JBoss Application Server installieren. Dazu läd man von [3] den aktuellen JBoss 5.0.0.CR2 herunter und entpackt diesen. Den JBoss-Spring-Deployer kann man in der aktuellen Version 3.1 von [2] (jboss-spring-3.1.deployer) beziehen. Die Datei muss lediglich im Verzeichnis jboss-5.0.0.CR2/server/default/deployers hinterlegt werden. So weit so gut: Prinzipiell könnte man jetzt die erste Spring-Anwendung deploy-en. Spring-Archive können als normale JAR-Datei gepackt werden. Der JBoss-Spring-Deployer sucht nach Spring-Konfigurationsdateien nach dem Muster *-spring.xml. Es empfiehlt sich eine solche Datei im Verzeichnis META-INF der Anwendung zu hinterlegen. Findet der Deployer eine solche Datei, werden die darin definierten Beans in einem Spring-Kontext geladen. ABER (was mich mal wieder einen Nachmittag gekostet hat): Beim JBoss 5 CR2 hat sich eine Schnittstelle [4] geändert, sodaß man noch eine Anpassung machen muss, bevor der Deployer [5] funktioniert. Man muss zunächst mit einem Packprogramm die Datei jboss-spring-3.1.deployer entpacken und die Datei META-INF/spring-deployers-beans.xml zu META-INF/spring-deployers-jboss-beans.xml umbenennen. Fertig. Bleibt nur noch zu klären, ob es Wechselwirkungen mit dem Cocoon-Spring-Configurator [6] gibt... [1] http://java.sys-con.com/node/180386 [2] http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=161914 [3] http://www.jboss.org/jbossas/downloads/ [4] https://jira.jboss.org/jira/browse/JBAS-5803 [5] http://www.jboss.com/index.html?module=bb&op=viewtopic&t=143666 [6] http://cocoon.apache.org/subprojects/configuration/1.0/spring-configurator/2.0/1304_1_1.html Montag, 11. August 2008War-Datei neu verpacken
Wenn man Bamboo z.B. auf einem JBOSS benutzen möchte, muss man die bamboo.war nach kleinen Änderungen neu verpacken, damit diese lauffähig ist. So müssen z.B. die WEB-INF/lib/activation.jar und die WEB-INF/lib/mail-1.3.2.jar entfernt werden, damit es nicht zu Classloader-Problemen kommt. Nachdem der Inhalt des Archives in einem Verzeichnis extrahiert wurde, kann mit folgenden Befehl wieder ein WAR-Archiv erstellt werden:
Freitag, 23. Mai 2008Nuetzliche Eclipse Plugins
Hier die Eclipse-Update-URLs:
Maven4Eclipse: http://m2eclipse.codehaus.org/update/ bzw. http://m2eclipse.sonatype.org/update-dev/ Subclipse: http://subclipse.tigris.org/update_1.2.x Eclipse Checkstyle: http://eclipse-cs.sourceforge.net/update Montag, 19. Mai 2008
Maven: JAR mit Abhängigkeiten bauen Geschrieben von DeKa
in Java um
14:21
Kommentare (0) Trackbacks (0) Maven: JAR mit Abhängigkeiten bauen
Wenn man mit Maven eine JAR-Datei baut, werden die abhängigen Bibliotheken, im Gegensatz zu WAR-Archiven, normalerweise nicht mit in das erstellte Artefakt inkludiert. Dies ist meistens auch sinnvoll, da die notwendigen Resourcen nicht mehrfach abgelegt werden sollen und bei Bedarf leicher austauschbar sind. Möchte man jedoch eine lauffähige Anwendung verbreiten, ist es zwingend notwendig, dass alle Abhängigkeiten vorhanden sind.
Als Lösung dafür sieht Maven das maven-assembly-plugin vor, welches alle Dateien (wie z.B. die Klassen-Dateien, Skripte, Property-Dateien, Bibliotheken, etc), die für einen Release notwendig sind, in einem Archiv (z.B. jar, zip, tar, gzip tar, als Verzeichnis, etc.) zusammenstellt. Das Assembly-Plugin kann auch verwendet werden, um eine ausführbare JAR-Datei zu erstellen. So wäre es schön, eine ausführbare JAR-Datei zu erstellen, die den eigenen Programmcode und alle Abhängigkeiten enthält. Leider kann Java die benötigten Bibliotheken nicht aus der selben JAR-Datei laden, die auch die Main-Klasse enthält, sodass man entweder
"Maven: JAR mit Abhängigkeiten bauen" vollständig lesen Montag, 19. Mai 2008
Maven: JAR ausführbar machen; ... Geschrieben von DeKa
in Java um
13:54
Kommentare (0) Trackbacks (0) Maven: JAR ausführbar machen; Hauptklasse dem Manifest hinzufügen
Um ein JAR-Archiv lauffähig zu machen, muss die Konfiguration des maven-jar-plugins in der pom.xml angepasst werden, aufdass die Hauptklasse im MANIFEST.MF aufgeführt wird:
Nach einem
kann man das Archiv mit
nun direkt ausführen (Artifakt-1.0-SNAPSHOT.jar durch den Namen der erzeugten Datei ersetzen). Freitag, 16. Mai 2008
Maven: Abhängigkeitskonflikte finden Geschrieben von DeKa
in Java um
08:57
Kommentare (0) Trackbacks (0) Maven: Abhängigkeitskonflikte finden
Schreibt man ein Programm, dass mehrere Frameworks benutzt, kann es vorkommen, dass diese Bibliotheken verschiedener Versionen benutzen, die nicht zueinander kompatibel sind. Eine typische Fehlermeldung, die auf diesen Fakt hinweist, ist z.B. ein java.lang.NoSuchMethodError. Diese begegnet mir z.b. ständig, wenn verschiedene Versionen von commons-collections benutzt werden.
Mit dem Befehl
listete Maven einen Baum von Abhängigkeiten zu z.B. commons-collections auf. "Maven: Abhängigkeitskonflikte finden" vollständig lesen |
SucheKalender
Blog abonnierenBlogrollError on line 132 of /home/blacksl/webspace/blog.blackslash.de/bundled-libs/Onyx/RSS.php: The specified file could not be opened. (#404) |