Maven2
From Resin 3.0
Resin 3.1 has a Maven2 snapshot repository at http://caucho.com/m2-snapshot
The Resin Maven plugin supports the following commands:
mvn resin:run mvn resin:jspc
resin:run starts a Resin instance pointing to your build directory
resin:jspc compiles JSP files in the build directory
Contents |
Step by Step
- install maven from http://maven.apache.org
- Create an empty .war project (see http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html)
unix> mvn archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DarchetypeArtifactId=maven-archetype-webapp \ -DgroupId=com.mycompany.app \ -DartifactId=my-webapp
- Add the caucho release repository to my-webapp/pom.xml
<project ...> ... <pluginRepositories> <pluginRepository> <id>caucho</id> <name>Caucho</name> <url>http://caucho.com/m2</url> </pluginRepository> </pluginRepositories> ... </project>
- Add the resin plugin to my-webapp/pom.xml
<project ...> ... <build> <finalName>my-webapp</finalName> <plugins> <plugin> <groupId>com.caucho</groupId> <artifactId>resin-maven-plugin</artifactId> <version>3.1.5</version> </plugin> </plugins> </build>
- Compile and start resin with "mvn resin:run"
- Browse http://localhost:8080/my-webapp
Pointing Resin to the build directory
Resin can point a web-app directly to the Maven build directory, letting you deploy automatically without involving any extra maven plugins. The resin.conf configuration looks like:
<resin xmlns="http://caucho.com/ns/resin">
...
<cluster id="">
...
<host id="">
...
<web-app id="my-webapp"
root-directory="/home/ferg/maven/my-webapp/target/my-webapp"/>
...
You can also grab a generated .war file directly and have it expand into your own Resin workspace, by setting the 'archive-path' attribute of a <web-app> defined in the resin.conf:
<resin ...
...
<host id="">
...
<web-app id="/my-webapp" root-directory="my-webapp-dir"
archive-path="/home/ferg/maven/my-webapp/target/my-webapp.war"/>
...
Adding Resin plugin to pom.xml
To add Resin plugins to your maven build, modify the pom.xml as follows:
<project ...>
...
<pluginRepositories>
<pluginRepository>
<id>caucho-snap</id>
<name>Caucho Snapshots</name>
<url>http://caucho.com/m2-snapshot</url>
</pluginRepository>
</pluginRepositories>
...
<build>
...
<plugins>
<plugin>
<groupId>com.caucho</groupId>
<artifactId>resin-maven-plugin</artifactId>
<version>3.1-SNAPSHOT</version>
</plugin>
</plugins>
</build
</project>
resin:run
On the command line, you can then use
mvn resin:run
resin:run will start a new Resin instance based on your maven build area. You can then browse the instance directly to verify your code.
resin:jspc
The resin:jspc plugin will precompile any JSP files in your project, putting the compiled classes in the usual WEB-INF/work.