[ 
https://issues.apache.org/jira/browse/AMQ-2293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465359#comment-13465359
 ] 

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. 

DOESN'T WORK.....
<configUri>xbean:file:${basedir}/config/activemq.xml</configUri>
<configUri>xbean:file:C:\workspace\activemqMavenIssue\example\config\activemq.xml</configUri>
<configUri>xbean:file:C:\\workspace\\activemqMavenIssue\\example\\config\\activemq.xml</configUri>

WORKS.....
<configUri>xbean:file:C:/workspace/activemqMavenIssue/example/config/activemq.xml</configUri>


                
> ActiveMQ Maven plugin fails to spin up broker in multi module project
> ---------------------------------------------------------------------
>
>                 Key: AMQ-2293
>                 URL: https://issues.apache.org/jira/browse/AMQ-2293
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.2.0
>         Environment: Windows ONLY
>            Reporter: Niels Bertram
>             Fix For: 5.x
>
>         Attachments: AMQ-2293.patch, test-project.zip
>
>
> 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 
> java.io.File.toURI(). 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: http://www.atlassian.com/software/jira

Reply via email to