Ошибка конфигурации причала

Я пытаюсь установить и запустить Jetty 7 для Shibboleth Identity Provider на моем сервере, но я получаю эту ошибку:

[iam@web333 jetty]$ java -jar start.jar jetty.port=27335
2013-06-29 12:01:47.490:WARN:oejx.XmlConfiguration:Config error at <Call name="addConnector">|    <Arg>|      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">|         <Arg>|           <New class="net.shibboleth.utilities.jetty7.DelegateToApplicationSslContextFactory">|             <Set name="keyStore">/home/iam/opt/shibboleth-idp/credentials/idp.jks</Set>|             <Set name="keyStorePassword">*****</Set>|           </New>|          </Arg>|        <Set name="port">27335</Set>|        <Set name="maxIdleTime">30000</Set>|      </New>|    </Arg>|  </Call> java.lang.ClassNotFoundException: net.shibboleth.utilities.jetty7.DelegateToApplicationSslContextFactory
Exception in thread "main" java.lang.ClassNotFoundException: net.shibboleth.utilities.jetty7.DelegateToApplicationSslContextFactory
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at org.eclipse.jetty.util.Loader.loadClass(Loader.java:100)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:354)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:754)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1126)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1029)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:777)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1126)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1029)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:722)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:388)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:343)
        at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:296)
        at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1247)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182)

Я следовал этому руководству: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare, и я изменяю порты 8080 и 8443 на свой порт 27335 в файлах конфигурации jetty.xml и jetty-ssl.xml.

А также в shib-delegatessl.xml я изменил порт 8443 на 27335.

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Call name="addConnector">
    <Arg>
      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
         <Arg>
           <New class="net.shibboleth.utilities.jetty7.DelegateToApplicationSslContextFactory">
             <Set name="keyStore">/home/iam/opt/shibboleth-idp/credentials/idp.jks</Set>
             <Set name="keyStorePassword">********</Set>
           </New>
          </Arg>
        <Set name="port">27335</Set>
        <Set name="maxIdleTime">30000</Set>
      </New>
    </Arg>
  </Call>
</Configure>

Как исправить эту ошибку? и как я могу проверить Jetty, если он работает? Спасибо большое.

С наилучшими пожеланиями!


person Mustapha Aoussar    schedule 29.06.2013    source источник


Ответы (2)


Баночка, содержащая класс net.shibboleth.utilities.jetty7.DelegateToApplicationSslContextFactory, должна находиться в пути к классам сервера.

Сделай это:

  1. Поместите банки с шибболетом в каталог ${jetty.home}/lib/ext.
  2. Проверьте, присутствуют ли они в пути к классам сервера, выполнив следующую команду.

    $ java -jar start.jar --list-config

  3. Запустите Jetty, как и раньше.

person Joakim Erdfelt    schedule 29.06.2013
comment
Я скопировал банки xalan и xerces из ${shibboleth-idp.home}/lib/endorsed в ${jetty.home}/lib/endorsed. Затем я попытался запустить Jetty, но получил ту же ошибку. В ${shibboleth-idp.home}/lib есть много других банок, нужно ли копировать их в ${jetty.home}/lib/ext? - person Mustapha Aoussar; 30.06.2013
comment
Не существует такой вещи, как ${jetty.home}/lib/endorsed, о которой причал не знает, не использует или даже не имеет конфигурации для ${jetty.home}/lib/endorsed. Я не могу комментировать особенности продукта shibboleth и его требования. Мой ответ специфичен для устранения ошибки, которую вы получили при использовании Jetty. - person Joakim Erdfelt; 30.06.2013
comment
Я назвал его в start.ini с помощью -Djava.endorsed.dirs=lib/endorsed, как описано здесь: wiki.shibboleth.net/confluence/plugins/viewsource/ - person Mustapha Aoussar; 30.06.2013
comment
Ошибка, о которой вы сообщили в своем вопросе, не указывает на то, что она имеет какое-либо отношение к библиотекам xerces или xalan. Сосредоточьтесь на шаге № 1 в этой ссылке, которую вы вставили на wiki.shibboleth.net, она указывает конкретную банку, которую вам нужно поместить в каталог ${jetty.home}/lib/ext. - person Joakim Erdfelt; 01.07.2013
comment
+1 для команды --version, чтобы показать, что находится в пути к классам. Я уверен, что читал это десятки раз. Я начинаю видеть, что руководства по началу работы предполагают, что все настроено идеально, что правильно. IoC — отличная концепция, если потратить несколько лет на то, чтобы во всем разобраться. - person Richard Bradley Smith; 11.11.2019

возможно, это может помочь: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare

Какие либы копировать и куда там указано.

person dermoritz    schedule 17.10.2014