we use this script to extract just what we want and build it.
hope it helps Dejan Bosanac wrote:
Hi, in the client application you'll need only activemq-core jar file (and all its dependencies). I've just made an enhancement request to create lightweight jar for these purposes ( https://issues.apache.org/activemq/browse/AMQ-1703). Cheers
-- Nigel Leck System Architect ST Software Pty Limited Level 1, 14 Rodborough Rd Frenchs Forest NSW 2086 National: 1300 78 73 78 International: +61 2 9975 4648 Fax: +61 2 9975 4652 www.stsoftware.com.au
<?xml version="1.0" encoding="UTF-8"?> <project name="Applet Build" default="default" > <import file="build_app.xml"/> <import file="certificates.xml"/> <description>Builds the file transfer applet</description> <target name="-init" description="Preparation for building an applet."> <property name="activemq.server.jar" value="${src.dir}/lib/activemq-lite-5.1.0.jar"/> <property name="jms.src.dir" value="${project.dir}/tmp/src/jms"/> <property name="jms.classes.dir" value="${project.dir}/tmp/classes/jms"/> <property name="jms.jar" value="${src.dir}/lib/jms-1.1.jar"/> <property name="logging.jar" value="${src.dir}/lib/commons-logging-api.jar"/> <property name="jta.jar" value="${src.dir}/lib/jta.jar"/> <property name="management.jar" value="${src.dir}/lib/geronimo-cutdown.jar"/> <!--property name="conc.jar" value="${src.dir}/lib/concurrent-1.3.4.jar"/--> <property name="log.jar" value="${src.dir}/lib/log4j-1.2.8.jar"/> <property name="pool.jar" value="${src.dir}/lib/commons-pool-1.2.jar"/> <property name="xalan.jar" value="${src.dir}/lib/xalan.jar"/> <property name="spring.jar" value="${src.dir}/lib/spring-2.0.jar"/> <property name="geronimo-spec.jar" value="${src.dir}/lib/geronimo-spec-j2ee-jacc-1.0-rc4.jar"/> <!--property name="geronimo.jar" value="${src.dir}/lib/geronimo-j2ee-jacc_1.0_spec-1.0.jar"/--> <!--property name="clog" value="webapps/ROOT/WEB-INF/classes/com/aspc/remote/util/misc/CLogger"/--> <property name="jaas.jar" value="${src.dir}/lib/jaas.jar"/> <property name="axis.jar" value="${src.dir}/lib/axis.jar"/> </target> <target name="-copy-src" description="Preparation for building an JMS" depends="-init"> <!--<copy todir="${jms.src.dir}/org/apache/activeio"> <fileset dir="${src.dir}/lib/src/org/activeio"> <include name="**/*.java"/> </fileset> </copy> --> <copy todir="${jms.src.dir}/org/apache/activemq"> <fileset dir="${src.dir}/lib/src/org/apache/activemq"> <include name="**/*.java"/> <exclude name="resources/**"/> <exclude name="camel/**"/> <exclude name="**/journal/**"/> <exclude name="**/rendezvous/**"/> <exclude name="**/stomp/**"/> <exclude name="**/rapid/**"/> <exclude name="**/xbean/**"/> <exclude name="**/jdbc/**"/> <exclude name="**/spring/**"/> <exclude name="**/Jaas**"/> <!--exclude name="**/Xalan**"/--> <!--exclude name="**/XPath**"/--> <exclude name="**/LDAP**"/> <!--exclude name="**/jndi/**"/--> <!--exclude name="**/advisory/**"/--> <!--exclude name="**/store/**"/--> <!--exclude name="**/region/**"/--> <!--exclude name="**/jmx/**"/--> <!--exclude name="**/vm/**"/--> <!--exclude name="**/transaction/**"/--> <!--exclude name="**/filter/**"/--> <!--exclude name="**/broker/**"/--> <!--exclude name="**/security/**"/--> <exclude name="**/BrokerBroadcaster.java"/> <exclude name="**/XStreamFactoryBean.java"/> <!--exclude name="**/XalanXPathEvaluator.java"/--> <!--exclude name="**/XPathExpression.java"/> <exclude name="**/UnaryExpression.java"/> <exclude name="**/ComparisonExpression.java"/> <exclude name="**/MultiExpressionEvaluator.java"/--> <!--exclude name="**/JmsConnector.java"/--> <exclude name="**/SimpleAuthenticationPlugin.java"/> <exclude name="**/SimpleAuthorizationMap.java"/> <exclude name="**/TempDestinationAuthorizationEntry.java"/> <exclude name="**/SimpleAuthenticationMap.java"/> <exclude name="**/DefaultAuthorizationMap.java"/> <exclude name="**/DefaultPersistenceAdapterFactory.java"/> <exclude name="**/PersistenceAdapterFactoryBean.java"/> <exclude name="**/AuthorizationEntry.java"/> <!--exclude name="**/BrokerService.java"/--> <!--exclude name="**/XPathExpression.java"/--> <!--exclude name="**/UnaryExpression.java"/--> <!--exclude name="**/ActiveMQDestination.java"/--> <!--exclude name="**/AdvisoryConsumer.java"/--> <!--exclude name="**/BrokerFilter.java"/--> <!--exclude name="**/BrokerService.java"/--> </fileset> </copy> <copy todir="${jms.src.dir}/org/apache/activeio/"> <fileset dir="${src.dir}/lib/src/org/apache/activeio/"> <include name="**/*.java"/> <exclude name="**/xnet/**"/> </fileset> </copy> <copy todir="${jms.src.dir}/org/objectweb"> <fileset dir="${src.dir}/lib/src/org/objectweb"> <include name="**/*.java"/> </fileset> </copy> <mkdir dir="${jms.src.dir}/org/apache/activemq/selector/" /> <javacc target="${src.dir}/lib/src/org/apache/activemq/selector/SelectorParser.jj" outputdirectory="${jms.src.dir}/org/apache/activemq/selector/" javacchome="/home/apps/javacc/" /> </target> <target name="import-src" depends="-init"> <delete dir="${src.dir}/lib/src/org/apache/activemq/" includes="*.java" excludes="Server.java"/> <copy todir="${src.dir}/lib/src/org/apache/activemq/"> <fileset dir="/home/nigel/tmp/apache-activemq-5.1.0/src/activemq-core/src/main/java/org/apache/activemq/"> <include name="**/*.java"/> </fileset> </copy> </target> <target name="-build-jms" description="Making an JMS jar." depends="-copy-src"> <delete failonerror="n" dir="${jms.classes.dir}"/> <mkdir dir="${jms.classes.dir}"/> <javac debug="on" deprecation="off" destdir="${jms.classes.dir}" optimize="off" srcdir="${jms.src.dir}" classpath="${remote.jar};${jms.jar};${logging.jar};${jta.jar};${spring.jar};${jaas.jar};${management.jar};${conc.jar};${log.jar};${pool.jar};${geronimo-spec.jar};${xalan.jar};${axis.jar}" source="1.5" target="1.5" fork="true" memoryMaximumSize="256m"> </javac> <delete failonerror="n" dir="${src.dir}/lib" includes="activemq-*.jar"/> <jar jarfile="${activemq.server.jar}"> <fileset dir="${jms.classes.dir}"/> <fileset dir="${src.dir}/lib/src/org/apache/activemq/resources/"/> <manifest> <attribute name="Main-Class" value="org.apache.activemq.Server"></attribute> </manifest> </jar> </target> <target name="make-dirs" depends="-init"> <mkdir dir="${jms.classes.dir}"/> <mkdir dir="${jms.src.dir}"/> <mkdir dir="${project.dir}/release"/> </target> <target name="build-clean" description="creates an JMS jar" depends="clean,build"/> <target name="build" description="creates an applet jar" depends="make-dirs,-build-jms"/> <target name="clean" description="cleans the temporary directory created" depends="-init"> <!--delete dir="${project.dir}/release"/--> <delete dir="${jms.classes.dir}"/> <delete dir="${jms.src.dir}"/> </target> </project>