activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Damian Hudson (JIRA)" <>
Subject [jira] [Commented] (AMQ-2293) ActiveMQ Maven plugin fails to spin up broker in multi module project
Date Fri, 28 Sep 2012 05:15:07 GMT


Damian Hudson commented on AMQ-2293:

I'm seeing similar behaviour with the maven-activemq-plugin (version 5.6.0).  When I try and
use the ${basedir} when setting <configUri>xbean:file:${basedir}/config/activemq.xml</configUri>,
it spits out the following error "Failed to start ActiveMQ Broker: Illegal character in opaque
part at index 16" when I run mvn activemq:run.   Seems to get upset with the backslashes in
${basedir} (eg. xbean:file:c:\dev\workspace\example/config/activemq.xml)  this isn't an issue
in Linux, only Windows machines.

I can get around the issue by using a relative path, as Niels did, but also run into problems
with Multimoduled projects.  To get around the issue I've had to use GMaven plugin to change
the slashes in ${basedir} to forward slashes and feed the modified property into <configUri>,
the workaround works, but it's ugly.  If a change could be made to the plugin to cater for
the Windows backslashes that would resolve the issue. 



> ActiveMQ Maven plugin fails to spin up broker in multi module project
> ---------------------------------------------------------------------
>                 Key: AMQ-2293
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.2.0
>         Environment: Windows ONLY
>            Reporter: Niels Bertram
>             Fix For: 5.x
>         Attachments: AMQ-2293.patch,
> If one attampts to specify an absolute path the the activemq configuration file in a
maven project using the maven parameters:
> {code:xml}
> <plugin>
>     <groupId>org.apache.activemq.tooling</groupId>
>     <artifactId>maven-activemq-plugin</artifactId>
>     <version>${activemq.version}</version>
>     <configuration>
>         <configUri>xbean:file:///${basedir}/src/test/activemq/conf/activemq.xml</configUri>
>     </configuration>
> </plugin>
> {code}
> the broker will fail because ${basedir} in maven does not expand to a valid URI string.
> Tried as well:
> 2) Using the xbeam:conf/activemq.xml does not work either as the mojo does not contain
the directory on the classpath.
> 3) Using the base dir and setting the configURI to xbean:file:///./src/test/qctivemq/conf/activemq.xml
does work when executing the test phase within a single maven project but as soon as the activemq
plugin is run from a module that is part of a project (see attachment example) then the .
refers to the path of the parent project and the broker fails to find the file again.
> As far as I can see there is not really a sufficient workaround using the activemq.base
activemq.home system properties and hence I propose to add another configuration alternative
to the maven-activemq-plugin called configFile. This can then be set with the according absolute
reference and the URI is properly constructred using the underlying JVM
Patch attached.
> The logic implemented by the patch is, if a configFile is set on the activemq plugin
then it will construct a xbean:file:[uri]  else it will use configUri (as usual).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message