Maven 3 unter Windows installieren

Maven 3 wird unter Windows wie folgt installiert und benutzt:

  1. Maven 3 herunterladen (als „Binary zip“)
  2. Maven entpacken (z.B. in E:\dev\env\java\apache-maven-3.0.4)
  3. JAVA_HOME Systemvariable setzen (Bsp. C:\Program Files\Java\jre7)
  4. MAVEN_HOME Systemvariable setzen (Bsp. E:\dev\env\java\apache-maven-3.0.4)
  5. PATH Systemvariable erweitern (Bsp. ...;%MAVEN_HOME%\bin)
  6. In der Kommandozeilen testen, ob die Installation erfolgreich war: mvn -version

YouTube API mit Java benutzen

Viele YouTube API-Tutorials, die ich gesehen habe, sind ziemlich abenteuerlich und umständlich. Das liegt zum Teil daran, dass sich die Authentifizierung ein wenig geändert hat aber zum Teil auch wieder daran, dass die anderen Blogger es nicht besser wussten oder Abhängigkeiten (Dependencies) nicht über Maven bezogen haben.

Die Kommunikation mit YouTube ist dank der Google Data APIs ein Kinderspiel. Alles was man braucht ist ein Developer Key (über das YouTube API Dashboard zu bekommen) und schon kann es losgehen!

Hinweis: Möchte man nur Daten vom YouTube-Service abrufen, dann kann man auch ohne Angabe des Developer Keys loslegen.
YouTube API mit Java benutzen weiterlesen

UTF-8 kodierte Java-Builds mit Maven

Um möglichst systemunabhängig zu sein, sollte man seinen Code im UTF-8 Zeichensatz speichern. Beachtet man das nicht, meldet Maven beim Buildvorgang möglicherweise folgende Warnung:

Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

Um den UTF-8 Zeichensatz in Maven zu erzwingen, muss die Eigenschaft project.build.sourceEncoding in der Konfigurationsdatei pom.xml gesetzt werden. Wer Analyse-Tools wie Cobertura einsetzt, der sollte außerdem noch die Eigenschaft project.reporting.outputEncoding auf UTF-8 setzen, damit die Logfiles ebenfalls mit UTF-8 kodiert werden.

Beispiel

1
2
3
4
5
6
7
8
9
10
<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  ...
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
  ...
</project>

Where does Maven store the dependencies?

Last time I declared this Maven dependency in my pom.xml:

<dependency>
  <groupId>com.tinkerpop.blueprints</groupId>
  <artifactId>blueprints-core</artifactId>
  <version>1.2</version>
</dependency>

I then requested the download of this dependency and got blueprints-core-1.2.jar. But where has this dependency been saved? I then found out that the dependencies are saved to the user’s Maven home directory (e.g. C:\Users\bennyn\.m2).

Finally I found the file here:
C:\Users\bennyn\.m2\repository\com\tinkerpop\blueprints\blueprints-core\1.2\blueprints-core-1.2.jar

You can also specify the location yourself. To do that, you just have to change the Maven local repository in the settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>C:\dev\temp</localRepository>
  ...
</settings>

Minify and obfuscate code with Maven

In a production site you always want to have minified and obfuscated code (i.e. CSS and JavaScript files) so that the file content is as small as possible because this will save bandwidth and loading time. The best known and easiest tool for this is the YUI Compressor from Yahoo!.

In a Java Enterprise application, the YUI Compressor can be integrated very easy with Maven. All you need is the Maven Minify Plugin. That’s how to use it:
Minify and obfuscate code with Maven weiterlesen

Eigene JAR-Bibliothek in Maven-Projekt verwenden

Apache Maven ist wundervoll. Aber wie bekommt man die eigene JAR-Bibliothek als Maven-Abhängigkeit in sein Projekt? Das geht einfacher als gedacht. Man muss dazu nur folgendes in die Konsole eingeben:

mvn install:install-file -Dfile=C:\path\to\my-lib-0.1.jar -DgroupId=com.mycompany.mylib -DartifactId=MyLibrary -Dversion=0.1 -Dpackaging=jar

Danach kann man in der pom.xml von seinem Maven-Projekt die eigene Bibliothek über folgenden Eintrag einhängen:

1
2
3
4
5
6
7
...
    <dependency>
      <groupId>com.mycompany.mylib</groupId>
      <artifactId>MyLibrary</artifactId>
      <version>0.1</version>
    </dependency>
...

Vielen Dank an How to include library manually into maven local repository?.