https://issues.apache.org/jira/browse/AMQ-5356
Migrated to Karaf 4. This was required to support Jetty 9.2.x. Fixed all OSGi unit tests. Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/0f492f3b Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/0f492f3b Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/0f492f3b Branch: refs/heads/master Commit: 0f492f3b4bc2665fd38ea66813381e4bd9ca3b64 Parents: f44c3d2 Author: Christopher L. Shannon (cshannon) <christopher.l.shan...@gmail.com> Authored: Tue Aug 25 15:47:41 2015 +0000 Committer: Christopher L. Shannon (cshannon) <christopher.l.shan...@gmail.com> Committed: Thu Sep 3 12:42:22 2015 +0000 ---------------------------------------------------------------------- .../transport/http/HttpTransportServer.java | 8 +-- .../karaf/itest/AbstractFeatureTest.java | 24 +++++-- .../itest/ActiveMQAMQPBrokerFeatureTest.java | 38 +++++++---- .../karaf/itest/ActiveMQBrokerFeatureTest.java | 32 +++++++++ .../itest/ActiveMQBrokerNdCamelFeatureTest.java | 10 +-- .../activemq/karaf/itest/ObrFeatureTest.java | 2 +- activemq-karaf/pom.xml | 13 ++-- activemq-osgi/pom.xml | 2 +- .../org/apache/activemq/bugs/AMQ2174Test.java | 16 +++++ activemq-web-console/pom.xml | 2 +- assembly/src/main/descriptors/common-bin.xml | 2 +- pom.xml | 68 +++++++++----------- 12 files changed, 140 insertions(+), 77 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java ---------------------------------------------------------------------- diff --git a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java index f8d71d5..464a37e 100755 --- a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java +++ b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java @@ -31,6 +31,7 @@ import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.servlets.gzip.GzipHandler; public class HttpTransportServer extends WebTransportServerSupport { @@ -118,12 +119,7 @@ public class HttpTransportServer extends WebTransportServerSupport { return (Integer)connector.getClass().getMethod("getLocalPort").invoke(connector); } private void addGzipHandler(ServletContextHandler contextHandler) throws Exception { - Handler handler = null; - try { - handler = (Handler)Class.forName("org.eclipse.jetty.server.handler.GzipHandler", true, Handler.class.getClassLoader()).newInstance(); - } catch (Throwable t) { - handler = (Handler)Class.forName("org.eclipse.jetty.servlets.gzip.GzipHandler", true, Handler.class.getClassLoader()).newInstance(); - } + Handler handler = new GzipHandler(); contextHandler.setHandler(handler); } http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java ---------------------------------------------------------------------- diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java index a544256..b1f2a72 100644 --- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java +++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java @@ -17,11 +17,14 @@ package org.apache.activemq.karaf.itest; import javax.security.auth.Subject; + import org.apache.felix.service.command.CommandProcessor; import org.apache.felix.service.command.CommandSession; import org.apache.karaf.features.FeaturesService; import org.apache.karaf.jaas.boot.principal.RolePrincipal; import org.apache.karaf.jaas.boot.principal.UserPrincipal; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.api.console.SessionFactory; import org.junit.After; import org.junit.Before; import org.ops4j.pax.exam.Option; @@ -37,6 +40,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.inject.Inject; + import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -50,7 +54,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; - import static org.ops4j.pax.exam.CoreOptions.*; import static org.junit.Assert.assertTrue; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.*; @@ -96,18 +99,20 @@ public abstract class AbstractFeatureTest { } @Inject - CommandProcessor commandProcessor; + SessionFactory sessionFactory; + ExecutorService executor = Executors.newCachedThreadPool(); protected String executeCommand(final String command, final Long timeout, final Boolean silent) { String response; final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); final PrintStream printStream = new PrintStream(byteArrayOutputStream); - final CommandSession commandSession = commandProcessor.createSession(System.in, printStream, printStream); + final Session commandSession = sessionFactory.create(System.in, printStream, printStream); commandSession.put("APPLICATION", System.getProperty("karaf.name", "root")); commandSession.put("USER", USER); FutureTask<String> commandFuture = new FutureTask<String>( new Callable<String>() { + @Override public String call() { Subject subject = new Subject(); @@ -154,13 +159,13 @@ public abstract class AbstractFeatureTest { * @throws Exception */ public void installAndAssertFeature(final String feature) throws Throwable { - executeCommand("osgi:list -t 0"); - executeCommand("features:install " + feature); + executeCommand("feature:list -i"); + executeCommand("feature:install " + feature); assertFeatureInstalled(feature); } public void assertFeatureInstalled(final String feature) throws Throwable { - executeCommand("osgi:list -t 0"); + executeCommand("feature:list -i"); withinReason(new Callable<Boolean>() { @Override public Boolean call() throws Exception { @@ -174,7 +179,7 @@ public abstract class AbstractFeatureTest { boolean found = false; for (Bundle bundle: bundleContext.getBundles()) { LOG.debug("Checking: " + bundle.getSymbolicName()); - if (bundle.getSymbolicName().equals(bundleName)) { + if (bundle.getSymbolicName().contains(bundleName)) { found = true; break; } @@ -251,6 +256,11 @@ public abstract class AbstractFeatureTest { editConfigurationFilePut("etc/config.properties", "karaf.startlevel.bundle", "50"), //debugConfiguration("5005", true), features(getActiveMQKarafFeatureUrl(), f.toArray(new String[f.size()]))}; + if (f.contains("activemq-camel")) { + options = append(features(maven().groupId("org.apache.camel.karaf").artifactId("apache-camel") + .versionAsInProject() + .type("xml/features")), options); + } return options; } http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java ---------------------------------------------------------------------- diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java index 59ce4db..88c1d85 100644 --- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java +++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java @@ -16,9 +16,14 @@ */ package org.apache.activemq.karaf.itest; +import static org.junit.Assert.assertTrue; + +import java.util.concurrent.Callable; + import javax.jms.Connection; import org.apache.qpid.jms.JmsConnectionFactory; +import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @@ -27,31 +32,40 @@ import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.junit.PaxExam; -import java.util.concurrent.Callable; - -import static org.junit.Assert.assertTrue; - @RunWith(PaxExam.class) public class ActiveMQAMQPBrokerFeatureTest extends ActiveMQBrokerFeatureTest { private static final Integer AMQP_PORT = 61636; @Configuration public static Option[] configure() { - Option[] activeMQOptions = configure("activemq"); - Option netty = CoreOptions.wrappedBundle(CoreOptions.mavenBundle("io.netty", "netty-all").versionAsInProject().getURL().toString() + "$Bundle-SymbolicName=netty-all"); - Option protonJ = CoreOptions.wrappedBundle(CoreOptions.mavenBundle("org.apache.qpid", "proton-j").versionAsInProject().getURL().toString() + "$Bundle-SymbolicName=proton-j"); - Option qpidClient = CoreOptions.wrappedBundle(CoreOptions.mavenBundle("org.apache.qpid", "qpid-jms-client").versionAsInProject().getURL().toString() + "$Bundle-SymbolicName=qpid-jms-client"); + Option[] configure = configure("activemq"); - Option[] options = append(protonJ, activeMQOptions); - options = append(netty, options); - options = append(qpidClient, options); + Option[] configuredOptions = configureBrokerStart(configure); - Option[] configuredOptions = configureBrokerStart(options); return configuredOptions; } + + + @Before + public void setUpBundle() { + + installWrappedBundle(CoreOptions.wrappedBundle(CoreOptions.mavenBundle( + "io.netty", "netty-all").version( + getArtifactVersion("io.netty", "netty-all")).getURL().toString() + + "$Bundle-SymbolicName=qpid-jms-client")); + installWrappedBundle(CoreOptions.wrappedBundle(CoreOptions.mavenBundle( + "org.apache.qpid", "proton-j").version( + getArtifactVersion("org.apache.qpid", "proton-j")).getURL())); + installWrappedBundle(CoreOptions.wrappedBundle(CoreOptions.mavenBundle( + "org.apache.qpid", "qpid-jms-client").version( + getArtifactVersion("org.apache.qpid", "qpid-jms-client")).getURL())); + } + + @Override protected Connection getConnection() throws Throwable { + setUpBundle(); withinReason(new Callable<Boolean>() { @Override http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java ---------------------------------------------------------------------- diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java index b6e75c9..2d71c09 100644 --- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java +++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java @@ -16,13 +16,19 @@ */ package org.apache.activemq.karaf.itest; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Properties; import java.util.concurrent.Callable; import org.junit.Test; import org.junit.runner.RunWith; +import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.junit.PaxExam; +import org.ops4j.pax.exam.options.WrappedUrlProvisionOption; import javax.jms.Connection; import javax.jms.Message; @@ -41,6 +47,32 @@ public class ActiveMQBrokerFeatureTest extends AbstractJmsFeatureTest { return configureBrokerStart(configure("activemq")); } + protected final File file = new File("../../../classes/META-INF/maven/dependencies.properties"); + + public final String getArtifactVersion(final String groupId, final String artifactId) { + final Properties dependencies = new Properties(); + try (FileInputStream fis = new FileInputStream(file)){ + dependencies.load(fis); + final String version = dependencies + .getProperty(groupId + "/" + artifactId + "/version"); + if (version == null) { + throw new RuntimeException( + "Could not resolve version. Do you have a dependency for " + groupId + "/" + + artifactId + " in your maven project?"); + } + return version; + } + catch (IOException e) { + throw new RuntimeException("Could not resolve version for groupId:" + groupId + + " artifactId:" + artifactId + + " by reading the dependency information generated by maven.", e); + } + } + + protected String installWrappedBundle(WrappedUrlProvisionOption option) { + return executeCommand("bundle:install 'wrap:" + option.getURL() + "'"); + } + @Test(timeout=5 * 60 * 1000) public void test() throws Throwable { http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java ---------------------------------------------------------------------- diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java index 45993b5..ce32dfc 100644 --- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java +++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java @@ -19,6 +19,8 @@ package org.apache.activemq.karaf.itest; import java.io.File; import java.util.Date; import java.util.concurrent.Callable; + +import org.apache.karaf.features.Feature; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @@ -27,7 +29,6 @@ import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.junit.PaxExam; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut; @@ -41,17 +42,16 @@ public class ActiveMQBrokerNdCamelFeatureTest extends AbstractJmsFeatureTest { public static Option[] configure() { return append( editConfigurationFilePut("etc/system.properties", "camel.version", MavenUtils.getArtifactVersion("org.apache.camel.karaf", "apache-camel")), - configure("activemq")); + configure("activemq", "activemq-camel")); } @Test(timeout = 2 * 60 * 1000) public void test() throws Throwable { - System.err.println(executeCommand("osgi:list").trim()); + System.err.println(executeCommand("feature:list").trim()); assertFeatureInstalled("activemq"); - executeCommand("features:addurl " + getCamelFeatureUrl()); - installAndAssertFeature("activemq-camel"); + assertTrue("activemq-camel bundle installed", verifyBundleInstalled("org.apache.activemq.activemq-camel")); withinReason(new Callable<Boolean>() { @Override http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java ---------------------------------------------------------------------- diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java index 93306be..9160e3b 100644 --- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java +++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java @@ -85,7 +85,7 @@ public class ObrFeatureTest extends AbstractFeatureTest { @Test(timeout=5 * 60 * 1000) public void testCamel() throws Throwable { - executeCommand("features:addurl " + getCamelFeatureUrl()); + executeCommand("feature:repo-add " + getCamelFeatureUrl()); installAndAssertFeature("activemq-camel"); } } http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-karaf/pom.xml ---------------------------------------------------------------------- diff --git a/activemq-karaf/pom.xml b/activemq-karaf/pom.xml index a00aecf..c56e77f 100644 --- a/activemq-karaf/pom.xml +++ b/activemq-karaf/pom.xml @@ -43,12 +43,12 @@ <dependency> <groupId>org.ops4j.pax.logging</groupId> <artifactId>pax-logging-api</artifactId> - <version>1.6.2</version> + <version>1.8.3</version> </dependency> <dependency> <groupId>org.ops4j.pax.logging</groupId> <artifactId>pax-logging-service</artifactId> - <version>1.6.2</version> + <version>1.8.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> @@ -60,15 +60,20 @@ <artifactId>slf4j-log4j12</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.aries.blueprint</groupId> + <artifactId>org.apache.aries.blueprint.core</artifactId> + <version>1.4.4</version> + </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.framework</artifactId> - <version>1.0.0</version> + <version>5.0.1</version> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.bundlerepository</artifactId> - <version>1.2.1</version> + <version>2.0.4</version> </dependency> <dependency> <groupId>org.apache.karaf.shell</groupId> http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-osgi/pom.xml ---------------------------------------------------------------------- diff --git a/activemq-osgi/pom.xml b/activemq-osgi/pom.xml index a583717..0513c24 100644 --- a/activemq-osgi/pom.xml +++ b/activemq-osgi/pom.xml @@ -206,7 +206,7 @@ <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.compendium</artifactId> - <version>4.3.1</version> + <version>${org.osgi.core-version}</version> <scope>provided</scope> </dependency> http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2174Test.java ---------------------------------------------------------------------- diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2174Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2174Test.java index 411f8ee..be838e3 100644 --- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2174Test.java +++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2174Test.java @@ -1,3 +1,19 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.activemq.bugs; import static org.junit.Assert.assertEquals; http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/activemq-web-console/pom.xml ---------------------------------------------------------------------- diff --git a/activemq-web-console/pom.xml b/activemq-web-console/pom.xml index fde16e4..fd3f4f3 100755 --- a/activemq-web-console/pom.xml +++ b/activemq-web-console/pom.xml @@ -324,7 +324,7 @@ <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.compendium</artifactId> - <version>4.3.1</version> + <version>${org.osgi.core-version}</version> <scope>provided</scope> </dependency> http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/assembly/src/main/descriptors/common-bin.xml ---------------------------------------------------------------------- diff --git a/assembly/src/main/descriptors/common-bin.xml b/assembly/src/main/descriptors/common-bin.xml index 8405b8b..13f1078 100644 --- a/assembly/src/main/descriptors/common-bin.xml +++ b/assembly/src/main/descriptors/common-bin.xml @@ -262,7 +262,7 @@ <include>org.mortbay.jasper:apache-el</include> <include>org.apache.taglibs:taglibs-standard-impl</include> - <include>org.apache.geronimo.specs:geronimo-annotation_1.0_spec</include> + <include>org.apache.geronimo.specs:geronimo-annotation_1.0_spec</include> <include>org.ow2.asm:asm</include> <include>org.eclipse.jetty.orbit:org.eclipse.jdt.core</include> http://git-wip-us.apache.org/repos/asf/activemq/blob/0f492f3b/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 6dfc996..2d4715a 100755 --- a/pom.xml +++ b/pom.xml @@ -88,7 +88,7 @@ <junit-version>4.12</junit-version> <hamcrest-version>1.3</hamcrest-version> <jxta-version>2.0</jxta-version> - <karaf-version>2.4.1</karaf-version> + <karaf-version>4.0.1</karaf-version> <leveldb-api-version>0.6</leveldb-api-version> <leveldb-version>0.6</leveldb-version> <leveldbjni-version>1.8</leveldbjni-version> @@ -130,12 +130,12 @@ <jaxb-basics-version>0.6.4</jaxb-basics-version> <stompjms-version>1.19</stompjms-version> - <pax-exam-version>4.3.0</pax-exam-version> + <pax-exam-version>4.6.0</pax-exam-version> <paxexam-karaf-container-version>1.0.0</paxexam-karaf-container-version> <pax-runner-version>1.6.1</pax-runner-version> - <pax-url-version>2.3.0</pax-url-version> + <pax-url-version>2.4.1</pax-url-version> <felix-configadmin-version>1.8.0</felix-configadmin-version> - <felix-framework-version>4.4.1</felix-framework-version> + <felix-framework-version>5.0.1</felix-framework-version> <site-repo-url>scpexe://people.apache.org/www/activemq.apache.org/maven/</site-repo-url> <source-version>1.7</source-version> @@ -537,11 +537,11 @@ <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId> <version>2.0.0</version> </dependency> - <dependency> - <groupId>org.ow2.asm</groupId> - <artifactId>asm</artifactId> - <version>5.0.3</version> - </dependency> + <dependency> + <groupId>org.ow2.asm</groupId> + <artifactId>asm</artifactId> + <version>5.0.3</version> + </dependency> <!-- Servlet 3.1 and JSP --> <dependency> @@ -944,26 +944,26 @@ <version>${jetty-version}</version> </dependency> - <dependency> - <groupId>org.eclipse.jetty.aggregate</groupId> - <artifactId>jetty-all</artifactId> - <version>${jetty-version}</version> - <exclusions> - <exclusion> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - </exclusion> - <exclusion> - <groupId>javax.websocket</groupId> - <artifactId>javax.websocket-api</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.websocket</groupId> - <artifactId>websocket-server</artifactId> - <version>${jetty-version}</version> - </dependency> + <dependency> + <groupId>org.eclipse.jetty.aggregate</groupId> + <artifactId>jetty-all</artifactId> + <version>${jetty-version}</version> + <exclusions> + <exclusion> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + </exclusion> + <exclusion> + <groupId>javax.websocket</groupId> + <artifactId>javax.websocket-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty.websocket</groupId> + <artifactId>websocket-server</artifactId> + <version>${jetty-version}</version> + </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> @@ -1086,16 +1086,6 @@ <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j-version}</version> </dependency> - <!-- >dependency> - <groupId>javax.servlet</groupId> - <artifactId>jstl</artifactId> - <version>${jstl-version}</version> - </dependency> - <dependency> - <groupId>taglibs</groupId> - <artifactId>standard</artifactId> - <version>1.1.2</version> - </dependency --> <dependency> <groupId>org.apache.geronimo.components</groupId>