Mit Java Mails zu versenden ist nicht schwer, einen besonders einfachen Ansatz wählt das Apache Commons Projekt mit seinem Subprojekt Email. Das einzige, was man beachten muss sind die Abhängigkeiten zu Suns Java Mail und Activation Framework, deren Java Archive man mit in den CLASSPATH aufnehmen muss.
Eine Klasse, die Commons Email verwendet und den Versand von Emails mit Anhängen ermöglicht, könnte so aussehen (Mailserver und Port müssen natürlich angepasst werden):
Continue reading »
Wer mit Java programmiert musste sicher schon einmal für eine Java Applikation die Kommandozeilenparameter auslesen. Wenn man nun nicht das Rad immer wieder neu erfinden will, sollte man zu erst einen Blick auf die Apache commons Bibliothek werfen.
Tut man das, so wird man dort auch für das Kommandozeilenproblem fündig. Die Lösung heißt – Apache commons – CLI. Die Bibliothek hilft nicht nur beim Auslesen der Kommandozeilenparameter, sondern bietet auch gleich die Möglichkeit eine Hilfe für die Verwendung der Parameter zu generieren.
Ein kleines Beispiel, sagt mehr als 1000 Worte
1.) Installation
- downloaden und auspacken
- commons-cli-1.0.jar in den CLASS_PATH aufnehmen
2.) Definition der Optionen
Options options = new Options();
Option help = new Option( "help", "print this message" );
Option optDescription = OptionBuilder.withArgName( "string" )
.hasArg()
.withDescription( "use given description for incident" )
.create( "description" );
Option optLongDescription = OptionBuilder.withArgName( "string" )
.hasArg()
.withDescription( "use given description for incident" )
.create( "longDescription" );
options.addOption(help);
options.addOption(optDescription);
options.addOption(optLongDescription);
3.) Parsen der Kommandozeilenargumente
CommandLineParser parser = new GnuParser();
CommandLine line = parser.parse( options, args );
4.) Auslesen von Optionen ohne Argumente
if(line.hasOption("h")) {
// Ausgabe der Hilfe
}
5.) Auslesen von Optionen mit Argumenten
String description="";
String longDescription="";
if( line.hasOption( "description" ) ) {
description = line.getOptionValue( "description" );
log.debug("Description: "+description);
}
if( line.hasOption( "longDescription" ) ) {
longDescription = line.getOptionValue( "longDescription" );
log.debug("Long Description: "+longDescription);
}
6.) Ausgabe für die Hilfe generieren
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp( "ant", options );
7.) fertig -> einfach schön oder schön einfach



