| = The Client Classpath |
| :idprefix: |
| :idseparator: - |
| |
| == Maven dependencies |
| |
| The recommended way to define a client dependency for your java application is through a Maven dependency declaration. |
| |
| There are two dependencies you can choose from, `org.apache.activemq:artemis-jms-client` for JMS 2.0 or `org.apache.activemq:artemis-jakarta-client` for Jakarta Messaging 3.x. |
| |
| For JMS: |
| |
| [,xml,subs="normal"] |
| ---- |
| ... |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-jms-client</artifactId> |
| <version>{project-version}</version> |
| </dependency> |
| ... |
| ---- |
| |
| For Jakarta: |
| |
| [,xml,subs="normal"] |
| ---- |
| ... |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-jakarta-client</artifactId> |
| <version>{project-version}</version> |
| </dependency> |
| ... |
| ---- |
| |
| == Individual client dependencies |
| |
| If you don't wish to use a build tool such as Maven which manages the dependencies for you, you may also choose to add the specific dependency jars to your classpath, which are all included under ./lib on the main distribution. |
| |
| For more information of the clients individual dependencies, see: |
| |
| * xref:client-classpath-jms.adoc#artemis-jms-client-dependencies[JMS client dependencies] |
| * xref:client-classpath-jakarta.adoc#artemis-jakarta-client-dependencies[Jakarta client dependencies] |
| |
| == Repackaged '-all' clients |
| |
| Even though it is highly recommend to use the maven dependencies, in cases this isnt a possibility and neither is using the individual dependencies as detailed above then the all-inclusive repackaged jar could be used as an alternative. |
| |
| These jars are available at Maven Central: |
| |
| * https://repo.maven.apache.org/maven2/org/apache/activemq/artemis-jms-client-all/{project-version}/[artemis-jms-client-all-{project-version}.jar] |
| * https://repo.maven.apache.org/maven2/org/apache/activemq/artemis-jakarta-client-all/{project-version}/[artemis-jakarta-client-all-{project-version}.jar] |
| |
| Whether you are using JMS or just the Core API simply add the `artemis-jms-client-all` jar to your client classpath. |
| For Jakarta Messaging add the `artemis-jakarta-client-all` jar instead. |
| |
| WARNING: These repackaged jars include all the xref:client-classpath-jms.adoc#artemis-jms-client-dependencies[client's dependencies]. |
| Be careful with mixing other components jars in your application as they may clash with each other. |
| Note also that the '-all' clients cant be embedded in the same JVM as the broker, for that you must use `artemis-jms-client` or `artemis-jakarta-client` as appropriate. |