Maven2
From Resin 3.0
(Fixed Maven groupId. It's com.caucho and not caucho.com!) |
|||
Line 9: | Line 9: | ||
resin:jspc compiles JSP files in the build directory | resin:jspc compiles JSP files in the build directory | ||
+ | |||
+ | == Step by Step == | ||
+ | |||
+ | <ol> | ||
+ | <li>install maven from http://maven.apache.org | ||
+ | <li>Create an empty .war project (see http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html) | ||
+ | <code><pre> | ||
+ | unix> mvn archetype:create \ | ||
+ | -DarchetypeGroupId=org.apache.maven.archetypes \ | ||
+ | -DarchetypeArtifactId=maven-archetype-webapp \ | ||
+ | -DgroupId=com.mycompany.app \ | ||
+ | -DartifactId=my-webapp | ||
+ | </pre></code> | ||
+ | </ol> | ||
== Pointing Resin to the build directory == | == Pointing Resin to the build directory == |
Revision as of 22:49, 14 February 2008
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
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.