Maven2
From Resin 3.0
Line 1: | Line 1: | ||
− | |||
* Maven2 release repository: http://caucho.com/m2 | * Maven2 release repository: http://caucho.com/m2 | ||
* Maven2 snapshot repository: http://caucho.com/m2-snapshot | * Maven2 snapshot repository: http://caucho.com/m2-snapshot | ||
+ | * groupId - com.caucho | ||
+ | |||
+ | ===Artifacts === | ||
+ | |||
+ | * resin : main Resin jar | ||
+ | * resin-ant : ant plugins | ||
+ | * resin-ejb : ejb api | ||
+ | * resin-hessian : Hessian and Burlap jar | ||
+ | * resin-jsdk : servlet api | ||
+ | * resin-maven-plugin : maven plugin | ||
+ | * resin-quercus : Quercus | ||
+ | * resin-util : utilities shared for resin and quercus | ||
+ | * resin-support : plugins and drivers for third-party | ||
+ | * resin-webbeans : webbeans api (early draft) | ||
+ | |||
The Resin Maven plugin supports the following commands: | The Resin Maven plugin supports the following commands: | ||
Revision as of 00:27, 15 February 2008
- Maven2 release repository: http://caucho.com/m2
- Maven2 snapshot repository: http://caucho.com/m2-snapshot
- groupId - com.caucho
Contents |
Artifacts
- resin : main Resin jar
- resin-ant : ant plugins
- resin-ejb : ejb api
- resin-hessian : Hessian and Burlap jar
- resin-jsdk : servlet api
- resin-maven-plugin : maven plugin
- resin-quercus : Quercus
- resin-util : utilities shared for resin and quercus
- resin-support : plugins and drivers for third-party
- resin-webbeans : webbeans api (early draft)
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
Step by Step for resin:run
- 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.