rabbitmq-jms-client
rabbitmq-jms-client copied to clipboard
Switch to javax.jms:jms breaks dependency management
https://github.com/rabbitmq/rabbitmq-jms-client/issues/176 switches to javax.jms:jms from geronimo specs.
There is a problem with migrating to javax.jms; there's no jar associated with the POM file in mavenCentral which has caused problems for a while.
c.f. https://stackoverflow.com/questions/6334323/what-is-the-right-maven-dependency-for-javax-jms-classes/6336137#6336137
I'm not sure what the right option is, if you can't revert back to geronimo, should you switch to jms-2.0 and throw UnsupportedOperationExceptions for everything that's new?
- jakarta.jms:jakarta.jms-api:2.0.3 (you can't use 3.x because it changes the package to jakarta.jms); which is a big deal and breaks backward compatibility.
- javax.jms:javax.jms-api:2.0.1 (not apache licensed if that's a thing)...
Technically I can work around this by doing this (since you've alluded to the fact you're just using the API definitions...)
configurations {
all*.exclude group: 'javax.jms', module: 'jms'
}
dependencies {
implementation ("com.rabbitmq.jms:rabbitmq-jms:2.5.0")
runtimeOnly ("jakarta.jms:jakarta.jms-api:2.0.3")
}
- It seems to be available here : https://repository.jboss.org/maven2/javax/jms/jms/ (though I have no idea if that's an appropriate place, or if you should in fact link to it the docs).