David Jencks wrote: > Fredrik Jonson wrote: > > > > I'm looking for a simple example geronimo plugin project. > > Building all of geronimo itself is the best way to see a lot of plugin > projects. Most of them are "service" plugins but there are a lot of > javaee applications in there too.
That seems a bit daunting. I'll try it... some day... ;) On the bright side I have finally managed to build and deploy a simple plugin! The reason I failed last week was due to a combination of PEBCAK and maybe a bit of complexity and lack of documentation in the car-maven-plugin. What I did was: 1. Tried to package a plugin with a broken plan.xml. I tried to copy the activemq-broker plugin from current trunk (2.2-SNAPSHOT) and that project configuration is a bit strange, lots of parent modules and their transitive dependencies made it hard to overview what parameters, configurations and files (history?) that actually is required, and what is just specific to that module. 2. PEBCAK. I tried to install the plugin using the "deploy" command instead of "install-plugin". Completely my own fault. Two major gothas for me was: 1. Not declaring the geronimoVersion property in the pom. 2. Not declaring "<extensions>true</extensions>" on the plugin configuration. If anyone else is interested, my very minimal geronimo-plugin example project is included below. The dependency org.example/provider is simply a jar module that contains the ExampleGBean implementation. |-- pom.xml `-- src `-- main `-- plan `-- plan.xml --- pom.xml --- <?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>plugin</artifactId> <version>1.0-SNAPSHOT</version> <packaging>car</packaging> <properties> <geronimoVersion>2.1.4</geronimoVersion> </properties> <dependencies> <dependency> <groupId>org.example</groupId> <artifactId>provider</artifactId> <version>${version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.geronimo.buildsupport</groupId> <artifactId>car-maven-plugin</artifactId> <version>2.1.4</version> <extensions>true</extensions> <configuration> <useMavenDependencies> <value>true</value> <includeVersion>true</includeVersion> </useMavenDependencies> <category>JMS</category> </configuration> </plugin> </plugins> </build> </project> --- src/main/plan/plan.xml --- <?xml version="1.0" encoding="UTF-8"?> <module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"> <gbean name="ExampleGBean" class="org.example.gbean.ExampleGBean"> </gbean> </module> -- Fredrik Jonson