Content unavailable! (broken link)https://www.dynarocks.com/wiki/attach/PageHeader/interSULT-2.002.jpg

This page (revision-21) was last changed on 23-Jul-2015 20:20 by Dieter Käppel

This page was created on 20-Oct-2013 20:04 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Version Date Modified Size Author Changes ... Change note
21 23-Jul-2015 20:20 7 KB Dieter Käppel to previous

Difference between version and

At line 1 changed one line
Der [Maven Loader] ist eine Erweiterung des [Tomcat] [Application Server] um einen [Maven] Class-Path Loader. Damit können sogenannte [Thin WAR] Files deployed werden, also ein WAR-File das nur die eigentlichen Dateien enthält, Abhängigkeiten werden beim Deployment durch [Maven] nachgeladen und zum Class-Path hinzugefügt. Ein [Thin WAR] kann durch das thin-war-maven-plugin erstellt werden.
Der [Maven Loader] ist eine Erweiterung des [Tomcat] [Application Server] um einen [Maven] Class-Path Loader. Damit können sogenannte [Thin WAR] Files deployed werden, also ein WAR-File das nur die eigentlichen Dateien enthält, Abhängigkeiten werden beim Deployment durch [Maven] nachgeladen und zum Class-Path hinzugefügt.
At line 3 added 3 lines
* Ein [Thin WAR] kann durch das thin-war-maven-plugin erstellt werden.
* [Maven Loader] ist kompatibel mit Tomcat 6 und Tomcat 7.
At line 20 changed one line
# Innerhalb der Tomcat-Installation (z.B. C:\Java\apache-tomcat-7.0.42\) wird das [maven.zip] aus dem Anhang ausgepackt.
# Innerhalb der Tomcat-Installation (z.B. C:\Java\apache-tomcat-7.0.42\) wird das Verzeichnis "maven" aus dem Anhang ausgepackt.
At line 25 removed 22 lines
Enthalten sind derzeit die Dateien:
{{{
aether-api-1.11.jar maven-settings-3.0.3.jar
aether-connector-wagon-1.13.1.jar maven-settings-builder-3.0.3.jar
aether-impl-1.11.jar nekohtml-1.9.6.2.jar
aether-spi-1.13.1.jar plexus-cipher-1.4.jar
aether-util-1.13.1.jar plexus-classworlds-2.4.jar
commons-cli-1.2.jar plexus-component-annotations-1.5.5.jar
commons-logging-1.1.1.jar plexus-interpolation-1.14.jar
maven-aether-provider-3.0.3.jar plexus-sec-dispatcher-1.3.jar
maven-artifact-3.0.3.jar plexus-utils-2.0.6.jar
maven-compat-3.0.3.jar sisu-guice-2.9.4-no_aop.jar
maven-core-3.0.3.jar sisu-inject-bean-2.1.1.jar
maven-embedder-3.0.3.jar sisu-inject-plexus-2.1.1.jar
maven-loader-1.0-SNAPSHOT.jar wagon-http-lightweight-1.0-beta-7.jar
maven-model-3.0.3.jar wagon-http-shared-1.0-beta-7.jar
maven-model-builder-3.0.3.jar wagon-provider-api-1.0-beta-7.jar
maven-plugin-api-3.0.3.jar xercesMinimal-1.9.6.2.jar
maven-repository-metadata-3.0.3.jar
}}}
At line 59 changed one line
Hier wird in Kürze eine Maven-Build-Konfiguration stehen, mit der man automatisch die Thin-WARs bauen kann.
[Thin WARs|Thin WAR] sind normale WAR-Files, die statt der JAR-Dependencies ein pom.xml enthalten. Solche WAR-Files können daher auch selbst aufgebaut werden. Praktischer ist jedoch Maven dafür zu verwenden:
At line 42 added 80 lines
{{{
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-jsp</id>
<phase>compile</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
</resource>
</resources>
<outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
<extensions>
<extension>
<groupId>com.intersult</groupId>
<artifactId>thin-war-maven-plugin</artifactId>
<version>1.0<version>
</extension>
</extensions>
</build>
...
</project>
}}}
__Erklärung:__ Das Compiler-Plugin und Resource-Plugin baut im Wesentlichen das Verzeichnis im Target auf, bevor das thin-war-maven-plugin das fertige WAR zusammensetzt. Das thin-war-maven-plugin ist dafür verantwortlich, die context.xml und die pom.xml an passender Stelle im WAR-File zu platzieren.
!!Lokal ausführen
Es handelt sich nach wie vor um eine normales Maven-WAR-Projekt und ist mit dem tomcat6- bzw. tomcat7-maven-plugin ausführbar:
{{{
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<warSourceDirectory>${project.build.directory}/${project.build.finalName}</warSourceDirectory>
</configuration>
</plugin>
}}}
Das Ausführen erfolgt mit "mvn tomcat7:run" bzw. aus Eclipse heraus:
[Maven Loader/maven tomcat7 plugin.PNG]
At line 138 added 10 lines
Ab Version 1.1 sind folgende System-Properties verfügbar:
* __maven.loader.debug:__ Damit wird das Debug-Logging von Maven aktiviert, um Probleme beim Dependency-Resolving leichter erkennen zu können.
* __maven.loader.scopes:__ Hier kann eine Komma-seperierte Liste von Maven-Scopes übergeben werden, die die Artifakte festlegen, die in den Classloader übernommen werden. Default-Wert ist "compile,runtime".
!!!Downloads
Der Maven-Loader kann aus dem Intersult Repository heruntergeladen werden:
* [https://www.intersult.com/nexus/content/groups/public/com/intersult/maven-loader/1.1-SNAPSHOT/]
×