Wenn Werte sich in der Datei pom.xml eines Maven-Projekts oft wiederholen, dann ist das ein gutes Indiz, um diese Werte als Eigenschaft (engl. property) zu deklarieren. Folgende zwei Beispiele verdeutlichen die Reduzierung der Wartungsarbeit bei Verwendung einer Property.
Properties in Maven pom.xml weiterlesen
Schlagwort: pom.xml
Properties File im Classpath deployen
Wer in einem Java EE Webprojekt die beliebten Properties verwenden will, der muss dafür sorgen, dass beim Build-Prozess die entsprechenden Dateien in den Klassenpfad (target/classes) mit aufgenommen werden.
Properties File im Classpath deployen weiterlesen
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> |