Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-21172

nuxeo-platform-login-portal-sso shouldn't have a transitive dependency on javax.servlet:javax.servlet-api

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.10-HF01, 9.1
    • Component/s: Authentication

      Description

      With the work done for JAVACLIENT-106 included in the Java client, it appears that running the TestCurrentUser unit test under Eclipse fails because of:

      09:32:40,803 WARN  [Log4JLogger] failed org.mortbay.jetty.webapp.WebAppContext@578524c3{/,/home/ataillefer/sources/nuxeo-java-client/nuxeo-java-client-test/target/nxruntime-main-7867088219961918909.tmp//web/root.war}: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
      09:32:40,805 WARN  [Log4JLogger] failed HandlerCollection@5454d35e: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
      09:32:40,806 WARN  [Log4JLogger] Error starting handlers
      java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
      	at com.sun.faces.config.WebConfiguration.getServletContextName(WebConfiguration.java:375)
      	at com.sun.faces.config.WebConfiguration.<init>(WebConfiguration.java:147)
      	at com.sun.faces.config.WebConfiguration.getInstance(WebConfiguration.java:213)
      	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:156)
      	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
      	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
      	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
      	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
      	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
      	at org.mortbay.jetty.Server.doStart(Server.java:224)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      	at org.nuxeo.runtime.jetty.JettyComponent.applicationStarted(JettyComponent.java:333)
      	at org.nuxeo.runtime.model.impl.RegistrationInfoImpl.notifyApplicationStarted(RegistrationInfoImpl.java:332)
      	at org.nuxeo.runtime.osgi.OSGiRuntimeService.notifyComponentsOnStarted(OSGiRuntimeService.java:487)
      	at org.nuxeo.runtime.osgi.OSGiRuntimeService.fireApplicationStarted(OSGiRuntimeService.java:523)
      	at org.nuxeo.runtime.api.ServicePassivator$Waiter.proceed(ServicePassivator.java:415)
      	at org.nuxeo.runtime.api.ServicePassivator.proceed(ServicePassivator.java:83)
      	at org.nuxeo.runtime.osgi.OSGiRuntimeService.frameworkEvent(OSGiRuntimeService.java:535)
      	at org.nuxeo.osgi.OSGiAdapter.fireFrameworkEvent(OSGiAdapter.java:232)
      	at org.nuxeo.runtime.test.NXRuntimeTestCase.fireFrameworkStarted(NXRuntimeTestCase.java:191)
      	at org.nuxeo.runtime.test.runner.RuntimeFeature.beforeRun(RuntimeFeature.java:153)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$2.call(FeaturesRunner.java:157)
      	at org.nuxeo.runtime.test.runner.FeaturesLoader.apply(FeaturesLoader.java:126)
      	at org.nuxeo.runtime.test.runner.FeaturesLoader.apply(FeaturesLoader.java:113)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner.beforeRun(FeaturesRunner.java:153)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$BeforeClassStatement.evaluate(FeaturesRunner.java:265)
      	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
      	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
      

      This is because

      javax/servlet/servlet-api/2.4/servlet-api-2.4.jar

      appears before

      org/mortbay/jetty/servlet-api-2.5/6.1.6/servlet-api-2.5-6.1.6.jar

      in the classpath generated by mvn eclispe:eclipsee.

      The dependency tree shows that

      javax.servlet:servlet-api:jar:2.4:test

      is a transitive dependency of

      org.nuxeo.ecm.platform:nuxeo-platform-ui-web:jar:9.1-SNAPSHOT:compile
       org.nuxeo.ecm.platform:nuxeo-platform-login-portal-sso:jar:9.1-SNAPSHOT:test
      [INFO]    +- org.nuxeo.ecm.platform:nuxeo-platform-ui-web:jar:9.1-SNAPSHOT:test
      [INFO]    |  +- org.nuxeo.runtime:nuxeo-launcher-commons:jar:9.1-SNAPSHOT:compile
      [INFO]    |  |  \- org.nuxeo.connect:nuxeo-connect-client:jar:1.4.26:compile
      [INFO]    |  |     \- org.eclipse.equinox:org.eclipse.equinox.p2.cudf:jar:1.17-NX:compile
      [INFO]    |  |        +- org.sat4j:org.sat4j.pb:jar:2.3.1:compile
      [INFO]    |  |        +- org.sat4j:org.sat4j.core:jar:2.3.1:compile
      [INFO]    |  |        +- org.eclipse.core:org.eclipse.core.jobs:jar:3.5.0.v20100515:compile
      [INFO]    |  |        \- org.eclipse.equinox:org.eclipse.equinox.common:jar:3.6.0.v20100503:compile
      [INFO]    |  +- org.nuxeo.ecm.platform:nuxeo-platform:jar:9.1-SNAPSHOT:test
      [INFO]    |  +- org.nuxeo.ecm.platform:nuxeo-web-resources-api:jar:9.1-SNAPSHOT:test
      [INFO]    |  +- org.jboss.seam:jboss-seam:jar:2.3.1.Final.NX02:test
      [INFO]    |  +- org.jboss.seam:jboss-seam-remoting:jar:2.3.1.Final.NX02:test
      [INFO]    |  +- org.jboss.seam:jboss-seam-ui:jar:2.3.1.Final:test
      [INFO]    |  +- org.jboss.seam:jboss-seam-pdf:jar:2.3.1.Final:test
      [INFO]    |  |  +- com.lowagie:itext:jar:2.1.2:test
      [INFO]    |  |  \- com.lowagie:itext-rtf:jar:2.1.2:test
      [INFO]    |  +- org.jboss.seam:jboss-seam-rss:jar:2.3.1.Final:test
      [INFO]    |  |  \- net.sourceforge.yarfraw:yarfraw:jar:0.92:test
      [INFO]    |  |     +- com.sun.xml.bind:jaxb-impl:jar:2.0.3:test
      [INFO]    |  |     |  \- javax.xml.bind:jsr173_api:jar:1.0:test
      [INFO]    |  |     \- javax.xml.bind:jaxb-api:jar:2.1:test
      [INFO]    |  |        \- javax.xml.stream:stax-api:jar:1.0-2:test
      [INFO]    |  +- org.jboss.seam:jboss-seam-excel:jar:2.3.1.Final:test
      [INFO]    |  |  \- net.sourceforge.jexcelapi:jxl:jar:2.6.10:test
      [INFO]    |  +- com.sun.faces:jsf-api:jar:2.2.6:test
      [INFO]    |  +- com.sun.faces:jsf-impl:jar:2.2.6-NX01:test
      [INFO]    |  +- org.hibernate:hibernate-validator:jar:3.1.0.GA:test
      [INFO]    |  +- org.restlet:org.restlet:jar:1.0.7:compile
      [INFO]    |  +- org.restlet:org.restlet.ext.fileupload:jar:1.0.7:test
      [INFO]    |  +- commons-fileupload:commons-fileupload:jar:1.3.1:compile
      [INFO]    |  +- com.noelios.restlet:com.noelios.restlet:jar:1.0.7:test
      [INFO]    |  \- com.noelios.restlet:com.noelios.restlet.ext.servlet:jar:1.0.7:test
      [INFO]    |     \- javax.servlet:servlet-api:jar:2.4:test
      

      The module doesn't need to depend on nuxeo-platform-ui-web, let's fix its dependencies.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: