Java, Maven, JBoss AS, Windows – eine unheilvolle Kombination

So … wie vielleicht schon aus einigen meiner letzten Beiträge erkennbar geworden ist, bin ich eigentlich kein großer Fan des Betriebssystems “Windows”. Während es für viele Nutzer vielleicht eine gute Wahl sein mag, ist es für Softwareentwickler (die nicht unbedingt Windows-Anwendungen entwickeln) schon nicht mehr optimal. Aber was gar nicht geht: Windows als Server.

Mit genau einem solchen Server hatte ich nämlich heute einige Stunden lang Spaß. Man nehme ein Maven-Projekt, in dem es einen Sourcepfad /src/main/java/de/test/meinProjekt/ gibt. Darunter hat man Klassen, alles ist gut, alles funktioniert.

Jetzt nehme man an, es werden Dateien in das Package/Verzeichnis /src/main/resources/java/de/test/meinprojekt/ gepackt. Sieht nach harmlos aus, ist aber katastrophal! Wer findet den Fehler?

Genau: das große “P” im ersten Pfad funktioniert gut, solange man keinen gleichlautenden Pfad mit anderer Groß-/Kleinschreibung im Parallelverzeichnis hat. Durch diese kleine Unaufmerksamkeit ist die gesamte Applikation beim Starten im JBoss nämlich mit einer total zusammenhangslosen Fehlermeldung gar nicht erst gestartet. Es scheint, als beachte der Classloader des JBoss’ das Casing der Pfade/Packages, was ja auch richtig ist. Im entstandenen Archiv, welches von Maven unter Windows zusammengebaut wurde, stehen die Sachen aber alle im gleichen Ordner mit kleinem “p”. Deswegen werden sie vom Classloader nicht gefunden.

Fiese Sache!

Zu meiner Verteidigung: der Package-Namen mit dem großen P stammte nicht von mir. Ich würde sowas doch niemals tun … *hüst*

IntelliJ 13.1 und SVN 1.8 (auf Windows)

Heute habe ich einige Zeit damit zugebracht, IntelliJ Idea 13.1 mit unserem Subversion ans Laufen zu bringen. Offensichtlich gibt es einige Bugs, die die Zusammenarbeit mit SVN 1.7 leider erheblich erschweren.

Eine der Möglichkeiten, diese Problematik zu umgehen ist, einfach einen Kommandozeilen-Client für SVN zu nehmen. IntelliJ kann diesen direkt einbinden (Settings -> Version Control -> Subversion -> General -> Use command line client). Unter Windows kann man hierfür zum Beispiel das Binary von SlikSVN nehmen. Damit hat man dann ein SVN-Binary, das man dort nutzen kann. Außerdem ist – bei aktuellem SVN – auch direkt eine Working Copy in Version 1.8 möglich.

Fast.

Denn ab jetzt kommt bei jedem Commit die Fehlermeldung “Could not Commit: wrong revision” (oder so ähnlich). Komisch … direkt mal untersucht: Commit wurde erfolgreich durchgeführt, Working Copy ist auch korrekt, trotzdem schmeißt IntelliJ diesen Fehler?

Ein wenig auf der Kommandozeile (aka: DOSBox) rumgespielt, den Quelltext der entsprechenden IntelliJ-Klasse angeschaut und dann dämmerte es so langsam …

Beim Nutzen des SVN Kommandozeilen-Clients wird die Rückgabe nach einem Commit geparst, um die neue Revision zu bestimmen. Anscheinend wird dabei angenommen, dass das Programm immer auf Englisch läuft und die Ausgabe daher “Committed revision 123″ lautet. SlikSVN installiert jedoch standardmäßig auch Übersetzungen mit – die Meldung lautet daher “Revision 123 übertragen”. Dies kann IntelliJ nicht korrekt interpretieren, deswegen wird die Fehlermeldung geschmissen. Also einfach die Übersetzungen von SlikSVN deinstallieren, dann klappt auch diese Kombination.

Ich weiß nicht, ob dies nur bei nicht-englischen Windows-Systemen auftritt, aber zumindest ist es etwas, was mich heute geschlagene drei Stunden meiner Zeit gekostet hat!

Korrekte MX Domain Records für web.de

Mir wurde vor kurzem die wenig erfreuliche Nachricht zugetragen, dass man mir anscheinend keine E-Mails an meine @dadadom.de-Adresse schicken könne. Da ich in der Zwischenzeit aber massig E-Mails erhalten hatte, konnte es kein generelles Problem sein.

Schnell stellte sich heraus, dass nur der Versand von web.de aus betroffen war. Ein kurzer Test ergab, dass der Absender nach wenigen Sekunden eine E-Mail mit der Betreffzeile “Mail delivery failed: returning message to sender” bekommt. Der Inhalt zeigt dann folgende Meldung:

This message was created automatically by mail delivery software.
 
 A message that you sent could not be delivered to one or more of
 its recipients. This is a permanent error. The following address
 failed:
 
 "xyz@dadadom.de":
 domain has no mail exchangers

Das ist natürlich eine Überraschung, insbesondere da alle anderen Provider (1&1, GMX, Google Mail, etc.) keine Probleme mit der Adresse haben. Aber gut, irgendeinen Grund wird es wohl geben und der Grund liegt vermutlich in meiner Zuständigkeit.

Eine kurze Internet-Recherche ergab, dass das Problem im MX-Record meines Domain-Eintrags liegt. Denn in RFC 2181, Absatz 10.3, steht folgendes:

The domain name used as the value of a NS resource record, or part of
   the value of a MX resource record must not be an alias.

Daher ist es natürlich doof, wenn man in seinem DNS-Record so etwas stehen hat wie:

[...]
www  IN A     123.123.123.123
mail IN CNAME www
@    IN MX 10 mail

Die Software bei web.de legt diese Regelung vermutlich strenger aus als die der anderen Provider, das Ändern der dritten Zeile in

mail IN A     123.123.123.123

löst das Problem aber.

Merke: Immer brav an die RFCs halten und nicht mit DNS-Records rumspielen :-)

Aus aktuellem Anlass: Spam-Versand über GMX

Aus aktuellem Anlass hier eine Meldung zu Spam-Versand über GMX. Wer ungewollt vielen Freunden Spam geschickt hat oder wer von jemandem eine Spam-Nachricht von dessen GMX-E-Mail bekommen hat, bitte dem- oder derjenigen Bescheid geben:
http://www.heise.de/newsticker/meldung/Spam-Versand-ueber-gehackte-GMX-Konten-1635150.html

Google und das volle Internet oder: Warum man die Piraten wählt

Wenn normale Menschen sich an etwas probieren, von dem sie keine Ahnung haben, dann fällt einem als erstes immer ein bekannter Spruch eines bekannten Comedians ein:

Wenn man keine Ahnung hat, einfach mal die Fresse halten.

Es gibt nur leider einen gesellschaftlichen Bereich, in dem dieses Motto komplett ignoriert wird: Die Politik. Folgendes Video zeigt dies mal wieder eindrücklich:

Das wirklich Erschreckende daran ist: Eben jene Menschen, die schlichtweg keine Ahnung haben, sind für oder gegen Netzsperren, eben jene Menschen maßen sich an über Dinge zu entscheiden, über die sie nicht einmal grundlegende Kenntnisse haben!

Warum also sollte ich bei einem Thema, was mir persönlich sehr wichtig ist, diese Partei wählen? Ist da irgendwer, der Ahnung hat? Man glaubt es nicht wirklich.

Genau so, wie vor Jahrzehnten die Grünen mit ihrer Umweltpolitik in eine Nische geschlagen haben, tun es heute die Piraten: sie besetzen die Nische “Internet”. Dort, bei der Piratenpartei, sind Leute, die vom Thema Internet (und vermutlich auch Fax) Ahnung haben. Sie sind sehr viel kompetenter, wenn es um Entscheidungen rund um das weltweite (und NICHT nationale) Netz geht. Kein Wunder also, dass sie immer wieder Achtungserfolge erzielen – zurecht!