Tag-Archiv: 'Programmieren'

Sehr ausführliche JVM-Optionsliste

Endlich eine brauchbare, ausführliche und nach Versionen vergleichende Referenz für die JVM-Optionen gefunden: http://blogs.sun.com/watt/resource/jvm-options-list.html Wenn sie sich primär auch auf Solaris/SPARC beziehen mag, ist sie mehr als nützlich.    

Ant: Umgebungsvariablen an der Kommandozeile (mit “-D”) überschreiben

Wird immer mal wieder angefragt: Gesetzt den Fall, man möchte in einem Ant-Script auf eine Umgebungsvariable zugreifen, was man normalerweise so macht: <property environment="env" /> <property name="dist-conf" location="${env.DIST_PATH}/conf" /> Dann kann man diese Variable an der Kommandozeile wie folgt überschreiben: ant -Denv.DIST_PATH=/path/to/the/dir Um einmal gesetzte Variablen zu überschreiben, ist der Ant-Contrib-Variable-Task (siehe http://ant-contrib.sourceforge.net/) die Lösung [...]

Verändertes Dependency-Management: Maven > 2.05

Beim Arbeiten mit AndroMDA auf ein Problem gestoßen, als sich ein Projekt nicht mehr erzeugen ließ; im Forum schließlich diesen Hinweis gefunden. Der Grund: Abhängige Module benötigen ab Maven 2.06 immer in ihrer eigenen pom.xml ebenfalls die Angabe der Versionsnummer. Zur Umstellung siehe die gesonderte Seite hier. Glücklicherweise arbeite ich mit einer Struktur, in der [...]

MyEclipse: “The validator WSDL Validator is a delegating validator but no delegate can found for it.”

Eine dieser immer wieder auftauchenden, häßlichen MyEclipse-Fehlermeldungen. Abhilfe schafft, über Windows->Preferences->Validation den jeweiligen Button in der Spalte Settings zu wählen und dann einen Validator-Typen zu wählen, danach ggf. noch Project->Clean. Hinweis für Eclipse: Deselektiert man über Windows->Preferences->Validation eine Validierung komplett und sollte eine Datei bereits als invalid markiert sein, hilft, erneut Validate im Kontextmenü des [...]

Tomcat (5/6) – Aelfred Fehlermeldung beim Start aus MyEclipse heraus

Hier half, über Windows, Preferences, MyEclipse, Application Servers, [TC-#] folgendes hinzuzufügen:   -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl-Dorg.xml.parsers.sax.parser=org.apache.xerces.parsers.SAXParser  Siehe dazu auch nur Xerces als Default-Parser setzen.         

Commons CLI Stolperstein

Da kann man schon drüber "fallen": In der CLI-Implementierung von Jakarta darf man keinesfalls die Parameterabkürzungen gleichzeitig als Argumente verwenden. Das mag manchem vielleicht selbstverständlich scheinen, doch da CLI immer für die Parameterabkürzungen einen vorangestellten Bindestrich verlangt, ist es das IMHO nicht.  Nun ja, aber wenn das Problem bekannt ist, braucht es nur noch umgangen [...]

(M)eine Singleton-Lösung

Auf Googles Singleton-Detector gestoßen und mir noch einmal die Begründungen angeschaut, weshalb Singletons böse sind. Das ist alles nicht wirklich neu, wiewohl aus meiner Sicht ein Singleton durchaus Sinn machen kann (gilt die Kritik nicht eigentlich jeder statischen Factory-Methode?). Wie auch immer, für mich ist guter Stil, zu begründen, weshalb man ein Singleton verwendet. Ebenso, [...]

JOptionPane mit JGoodies

Wenn das Ekel LAF angezeigt wird:     UIManager.put("ClassLoader", LookUtils.class.getClassLoader());    UIManager.setLookAndFeel(new Plastic3DLookAndFeel());  

Auf zum Karneval: Maskieren für (Ant) replaceregexpr

Dieser Tasks hats wegen der doch sehr dürftigen Dokumentation in sich, zumal wegen der RegExpr-Syntax für Java. Backslash maskieren   <replaceregexp    match="a:\\"    replace="b:\\\\"    flags="gi">    <fileset dir="${build}${/}xml" id="XmlStuff">      <include name="takeme*.xml"/>    </fileset>  </replaceregexp></target> Punkt maskieren (z.B. für Paktebezeichner) <replaceregexp match="com\.old\.style\.business" replace="org\.new\.style\.business" flags="gi"> <fileset dir="${the.path}" id="pathy"> <include name="Groov*y.java"/> </fileset></replaceregexp>  Das Flag "gi" bedeutet: global (alle Vorkommen der gefundenen [...]

typo3: special=directory mit Submenüs

Bug, Bug, Bug! http://bugs.typo3.org/view.php?id=3224, da kann man sich nicht herausreden. Die Lösung funktioniert – einfach nur darauf achten, dass die Lib eingebunden ist, dann gehts. Hier mein TypoScript: # Menu 1 cObjectlib.menu_1 = HMENUlib.menu_1 { ### Erste Ebene – special value ist die Startseite mit den Servicemenüeinträgen ### special = directory special.value = 50 1 [...]

CSS-Tücken – Zeitfresser

Weiterhin mit der Homepage für St. Hildegard beschäftigt. Das Layout notgedrungen erst einmal vom Dreispalten-CSS auf ein Tabellenlayout zurückgestellt   Das ansonsten phantastische CSS-Menü von Stu Nicholls vermochte ich nicht dazu bewegen, die überlangen <li>-Tags nicht umzubrechen.   Wie auch immer – während der Beschäftigung mit dem Layout fiel mir immer wieder auf, wie wenig [...]

Firebug-Problem mit DOM-Inspector

Warum auch immer, das passiert immer wieder einmal: Anstelle CSS-Informationen im Firebug zu erhalten, wird eine Fehlermeldung angezeigt, die auf die FAQs verweist. Ums abzukürzen: Firefox schließen, altes Firefox-Installationsverzeichnis (NICHT Profilverzeichnis) umbenennen und Firefox erneut installieren. Dann funktionierts (wieder).

MySQL Import

Auch so ein Befehl, den ich immer vergesse: mysql -u USER -p DBNAME < dump.sql Der direkte Befehl an der Kommandozeile ist besonders nützlich, um das Default-Characterset zu übergeben: mysql -u USER -p  DBNAME –default-character-set=utf8 < /path/to/dump.sql    Oder einloggen, use DBNAME und den Pfad des Dumpfiles mit 'source' angeben. Also: mysql> show databases mysql> [...]

Xerces als Default-Parser setzen

Diese Einstellung entfällt mir immer wieder, ist aber doch manchmal nötig: -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl  

Eclipse erstellt plötzlich kein Build mehr???

Das könnte an einer korrumpierten .project-Datei liegen.Einfach mal         <buildCommand>            <name>org.eclipse.jdt.core.javabuilder</name>            <arguments>            </arguments>        </buildCommand> einfügen (direkt via Eclipse, im geöffneten Projekt funktioniert). 

web.xml für JSF

Diese hier ist einigermaßen sinnvoll; was von Genuitec angeboten wird, ist eher zweifelhaft, insb. das servlet-mapping. Am einfachsten geht's aber mittlerweile mit Maven, siehe http://wiki.apache.org/myfaces/MyFaces_Archetypes_for_Maven. Eigentlich sind solche Archteypen ja etwas für MDA-"FUDders", denn der Unterschied hinsichtlich der Vorgehensweise zur JSF-Cartridge von AndroMDA ist gar nicht so groß.    Zur Dokumentation:  <?xml version="1.0"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" [...]

Typo3 – Probleme, selbst mit light_em

Nachdem der freundliche Support von Speicherhosting mir geholfen hatte, das Memory-Limit hochzusetzen, funktionierte der EM (in der "Light-Version" immer noch nicht: Hier gab es die Ausgabe von Binärmüll in der Seite (CURL). Schließlich half, t3lib/class.t3lib_div.php zu bearbeiten: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); // Changed from 0 to 1 by KG curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    So schleicht sich [...]

Axis (1): Must include type attribute for Handler deployment!

This error normally occurs if the DocumentBuilderFactory is  overlapped by e.g. gnujaxp or an outdated Xerces version. Solution: Try to point to Xerces, e.g. by using a system var or remove suspicious jars, e.g. gnujaxp.jar from your classpath. (Asked by a colleague today).   A better error message would be useful, must check how the [...]

Typo3: “No cookies, no Typo3″…

Ziemlich unerfreulich, so ein Update auf PHP5, aber es gibt ja Google, da findet man dann z.B: http://lists.netfielders.de/pipermail/typo3-english/2005-November/015469.html

HeapSpace Profiling mit Java 6

Nein, wie ist das schön: Programm mit -XX:+HeapDumpOnOutOfMemoryError aufrufen, um eine HeapDump-Datei zu erstellen. Jetzt mit jhat -J-mx768m [HeapDump-Datei, z.B. java_pid804.hprof] die Datei analysieren lassen. Wie auch bei den "integrierten" WebServices wird dabei ein interner Http-Server gestartet, der grundsätzlich auf Port 7000 lauscht. Jetzt über http://localhost:7000 analysieren… OQL wird auch unterstützt. Gefällt mit besser als [...]

Eberhard Wolff – Spring (dpunkt)

Derzeit am Durchkauen des Buchs von Eberhard Wolff, vormals Saxonia Systems, jetzt Interface21 Mitarbeiter.   Der Autor ist, als Spring-"Committer" neben Jürgen Höller der einzige native Deutschsprachler im Team und aufgrund seiner Autorentätigkeit beim Java-Magazin sowie seiner freundlich-intelligenten Vortragsart bei Konferenzen vorzüglich geeignet, ein Buch über Spring zu verfassen. Das Buch behandelt, dem Inhaltsverzeichnis folgend, [...]

Serendipity: RSS-Feeds funktionieren nicht (mehr)

Zwei wesentliche Gründe: Das Style-Verzeichnis "default" enthält die feed*.tpl-Vorlagendateien nicht oder ein Whitespace ist am Anfang/Ende von <php? > in einer PHP-Datei, bevorzugt config.inc.php, vorhanden. Also entweder die feed*.tpl-Dateien ins default-Verzeichnis kopieren und/oder Whitespace aus einer PHP-Datei entfernen. Siehe diesen Forumsbeitrag.

XSLT: contains() mit Hochkomma

Am einfachsten das Hochkomma in Anführungszeichen einschließen: <xsl:if test="contains($myExpr, "’")"> etc. Bei den meisten XPath-Tools darauf achten, dass nicht die XML-Entität, sondern das Zeichen verwendet wird. Leider funktioniert das nicht mit concat() oder generell nicht immer. Bombensicher ist daher nur Michael Kays Vorschlag. Also <xsl:variable name="apos">’</x:variable> und dann verwenden: <xsl:value-of select="concat(‘//’, ‘*[@type=', $apos, 'sthg2concat:', @name, [...]

Subversion + Linux

Für /etc/init.d/svnserve liegen die Einstellungen in /etc/sysconfig/svnserve, standardmäßig wwwrun:www.

Semantic fraud…

Eine Frage beim derzeitigen Hype des Das-Web-2.0-begründet-das-Semantic-Web drängt sich mir gerade bei den Social Networks auf: Wie kann man sicherstellen, dass die Indizierung von Inhalten ("Tags") inhaltlich auch korrekt ist? Was ist, wenn bewusst falsch getaggt wird, um Suchende von bestimmten Inhalten fernzuhalten/abzulenken? Letztlich dürfte das mit einer Mischung aus statistischen Methoden und irgendwelchen Glaubwürdigkeitsmechanismen [...]