2013-06-29 41 views
1

我試圖安裝和我的服務器上運行Jetty 7Shibboleth的身份提供,但我得到這個錯誤:配置錯誤碼頭

[[email protected] 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.xmljetty-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是否可行? 非常感謝。

此致敬禮!

回答

1

包含net.shibboleth.utilities.jetty7.DelegateToApplicationSslContextFactory類的jar需要位於服務器類路徑中。

這樣做:

  1. 把陳詞濫調罐子到${jetty.home}/lib/ext目錄。
  2. 通過執行以下命令來測試它們是否存在於服務器類路徑中。

    $ java -jar start.jar --version

  3. 開始碼頭像你以前那樣。

+0

我已將_xalan_和_xerces_ jar從'$ {shibboleth-idp.home}/lib/endorsed'複製到'$ {jetty.home}/lib/endorsed'。然後我試圖啓動碼頭,但我得到了同樣的錯誤。 '$ {shibboleth-idp.home}/lib'中有很多其他的jar,我需要將它們複製到'$ {jetty.home}/lib/ext'中嗎? –

+1

沒有'$ {jetty.home}/lib/endorsed'這樣的事情,jetty不知道,使用甚至是'$ jetty.home}/lib/endorsed'的配置。我無法評論shibboleth產品的具體細節以及它的要求。我的答案是特定於解決使用Jetty時遇到的錯誤。 –

+0

我在** start.ini **中用'-Djava.endorsed.dirs = lib/endorsed'調用它,如下所述:https://wiki.shibboleth.net/confluence/plugins/viewsource/viewpagesrc.action?pageId = 5734962 –