Offene Fragen
- ? Ich wollte die security-api und security-apps auschecken aus dem svn. In dem security-api verzeichniss habe ich dann "mvn eclipse:eclipse" ausgeführt, was zu folgender Fehlermeldung führte:
[INFO] Scanning for projects...
Downloading: http://repo1.maven.org/maven2/org/n52/52-North/1.0/52-North-1.0.pom
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: org.n52.security:52n-security-apps:pom:1.2
Reason: Cannot find parent: org.n52:52-North for project: org.n52.security:52n-security-apps:pom:1.2
Ich habe die settings.xml wie auf der
MavenSite beschrieben in mein lokales repository eingefügt. Die Datei wird auch gelesen (die Zeit des letzten Zugrifs ändert sich). --
JanTorbenHeuer - 31 May 2007
- ? Wie kann ich direkt ein WebToolsPlattform project aus maven heraus erstellen?
mvn -Dwtpversion=1.5 eclipse:eclipse
erstellt zwar ein eclipse project, aber leider kein WebToolsPlattform project. Oder gibt es alternativen zur WTP
- ! komisch, bei mir funktionierts (Jan Drewnak)
- ! Ich habe WTP Version 1.5.4, damit geht es nicht.
- ! Nachtrag: nur Projekte mir packaging "war" werden zu wtp projekten. Das Verhalten ist leider nicht dokumentiert
- ! Workaround: man kann das Projekt nachträglich als WTP projekt deklarieren. Siehe dazu EclipseTips.
- ? Warum sind die Project Factets per default 1.4 (Ich brauche Java 1.5 oder 1.6)
- ! ich habe das eclipse plugin entsprechend 'gefixed', weil default 1.4 war. Allerdings werden da auch pom-parameter beachtet, die man setzten kann...
- ? Wie lassen sich am elegantesten Libraries in ein Projekt einbinden, sodass die auch in eclipse erscheinen? Im Moment ändere ich das POM und rufe "mvn eclipse:eclipse" auf, und dann in eclipse ein "refresh". Dadurch verschwinden dann aber wieder die Referenzen auf die TOMCAT_API
- ! Stimmt, das mit dem refresh ist auch mir ein Ärgernis. Allerdings: Wieso musst du die TOMCAT_API händisch einfügen? Kann der link zur API nicht auch aus einer im POM definierten Dependency kommen? Mich stört vor allem, dass die "source attachments" beim refresh verloren gehen...(Jan Drewnak)
Filtering
- Das Filtern mit Maven gestaltet sich viel einfacher als mit Ant. In dem Buch "Better Builds with Maven" findet sich auf den Seiten 49/50 eine Anleitung dazu, die auch sehr verständlich ist. In der pom wird angegeben welcher Ordner/ Datei gefiltert werden soll. Zusätzlich wird noch die Datei angegeben, die die engültigen Werte enthält. Angenommen in der web.xml soll ein param-value angegeben werden, dazu wird der zu ersetzende Wert durch "${webapp.name} gekennzeichnet. In der Filterdatei ist nun ein Parameter "webapp.name".
web.xml:
webapps/${webapp.name}/WEB-INF/conf/config.xml
Filterdatei: webapp.name=52nWNS
pom.xml:
<build>
<filters>
<filter>conf/config.properties</filter> // Pfad zur Filterdatei
</filters>
<resources>
<resource>
<directory>src/main/java</directory> // Pfad der gefiltert werden soll
<filtering>true</filtering> // Filtern eingeschaltet
</resource>
</resources>
</build>.
<exludes> sind auch erlaubt, sodass nicht jede Datei im Ordner überprüft werden muss, siehe Seite 52 in "Better Builds with Maven"
--
JanTorbenHeuer - 05 Jun 2007