Chris,
if I understood your problem right, I would suggest to incapsulate the service into a new plug-in, which you can use as a dependency for other plug-ins and include in features/products/repositories as needed.
AFAIK, these are common strategies for doing this:
1) you create a new plug-in from an existing JAR, by including the compiled classes into the plug-in and exporting packages; you can configure Maven for doing this during the build cycle, for example using maven-bundle-plugin[1]
2) you include the JAR as-is in the plug-in (nested JAR) and make its contents available by including it in the plug-in's classpath and exporting its packages; this practice, however, is discouraged:
«Nested JARs are strongly discouraged as they hinder performance; since, the runtime will have to extract these JARs at runtime. Therefore, if the plug-in's code is packaged in a JAR, it is recommended to keep the deployed plug-in as a flat directory.»[2]
Both strategies can be performed also within the Eclipse IDE[3].
You will also need to pay attention on how to manage the dependencies for the service itself. Some options:
1) you can create an uber-JAR for your service (for example using maven-shade-plugin) that includes everything
2) you can rely on plug-ins provided by third parties (I'm thinking about Eclipse Orbit[4]) to resolve your dependencies
3) you can incapsulate your dependencies in plug-ins, for example using one of the strategies above
Hope this helps.
Regards,
Enrico