This closes #1623 ARTEMIS-1488 add 'all' client jar to distribution

This commit is contained in:
Andy Taylor 2017-10-31 14:44:37 +00:00
commit e3a24f08b6
5 changed files with 22 additions and 22 deletions

View File

@ -37,6 +37,11 @@
<dependencies>
<!-- ActiveMQ Artemis artifacts -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-client-all</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-boot</artifactId>

View File

@ -105,6 +105,15 @@
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
<dependencySet>
<directoryMode>755</directoryMode>
<fileMode>644</fileMode>
<includes>
<include>org.apache.activemq:artemis-jms-client-all</include>
</includes>
<outputDirectory>lib/client</outputDirectory>
<unpack>false</unpack>
</dependencySet>
<!-- native -->
<dependencySet>
<includes>

View File

@ -1,29 +1,15 @@
# The Client Classpath
Apache ActiveMQ Artemis requires several jars on the *Client Classpath* depending on
whether the client uses Apache ActiveMQ Artemis Core API, JMS, and JNDI.
Apache ActiveMQ Artemis requires just a single jar on the *client classpath*.
> **Warning**
>
> All the jars mentioned here can be found in the `lib` directory of the
> Apache ActiveMQ Artemis distribution. Be sure you only use the jars from the correct
> The client jar mentioned here can be found in the `lib/client` directory of the
> Apache ActiveMQ Artemis distribution. Be sure you only use the jar from the correct
> version of the release, you *must not* mix and match versions of jars
> from different Apache ActiveMQ Artemis versions. Mixing and matching different jar
> versions may cause subtle errors and failures to occur.
## Apache ActiveMQ Artemis Core Client
If you are using just a pure Apache ActiveMQ Artemis Core client (i.e. no JMS) then you
need `activemq-core-client.jar`, `activemq-commons.jar`, and `netty.jar`
on your client classpath.
## JMS Client
If you are using JMS on the client side, then you will also need to
include `activemq-jms-client.jar` and `geronimo-jms_2.0_spec.jar`.
> **Note**
>
> `geronimo-jms_2.0_spec.jar` just contains Java EE API interface classes needed
> for the `javax.jms.*` classes. If you already have a jar with these
> interface classes on your classpath, you will not need it.
Whether you are using JMS or just the Core API simply add the `artemis-jms-client-all.jar`
from the `lib/client` directory to your client classpath. This is a "shaded" jar that
contains all the Artemis code plus dependencies (e.g. JMS spec, Netty, etc.).

View File

@ -66,8 +66,7 @@ This approach might be preferred if for example you only have access to the 5.x
## Preparing
1) Fetch the `artemis-jms-client-all` jar from [Maven Central](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.activemq%22%20AND%20a%3A%22artemis-jms-client-all%22)
which corresponds to the version of ActiveMQ Artemis installed. Copy that jar to the `$5X_HOME/lib` directory.
1) Copy `lib/client/artemis-jms-client-all.jar` to the `$5X_HOME/lib` directory.
2) Add the bridge configuration to `activemq.xml`:

View File

@ -871,6 +871,7 @@
<module>artemis-core-client</module>
<module>artemis-server</module>
<module>artemis-jms-client</module>
<module>artemis-jms-client-all</module>
<module>artemis-jms-server</module>
<module>artemis-native</module>
<module>artemis-journal</module>