rabbitmq-jms-client icon indicating copy to clipboard operation
rabbitmq-jms-client copied to clipboard

Switch to javax.jms:jms breaks dependency management

Open quotidian-ennui opened this issue 3 years ago • 0 comments

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).

quotidian-ennui avatar Jul 26 '22 10:07 quotidian-ennui