2015-06-02 61 views
1

我有問題與Keycloak部署應用程序:誤差由於以下原因(S):拋出java.lang.ClassNotFoundException Keycloak

DEPLOYMENTS IN ERROR: Deployment "vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo-ear.ear" is in error due to the \ following reason(s): java.lang.ClassNotFoundException: javax.faces.component.UIComponent from [email protected]{vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo-ear.ear}

或這一個:出現

DEPLOYMENTS IN ERROR: Deployment "vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo.ear" is in error due to the following reason(s): org.jboss.deployers.spi.DeploymentException: URL file:/D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo-ear.ear/keycloak-demo-web.war/ deployment failed

錯誤時,下面代碼添加到web.xml

<login-config> 
    <auth-method>KEYCLOAK</auth-method> 
    <realm-name>demo</realm-name> 
</login-config> 

我在創建從管理控制檯等:

{ 
    "realm": "demo", 
    "realm-public-key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB", 
    "auth-server-url": "http://localhost:8080/auth", 
    "ssl-required": "external", 
    "resource": "panel", 
    "credentials": { 
    "secret": "6c3fa646-f033-4864-8b87-604887ce8eec" 
    } 
} 

我加入Keycloak配置從redme文件到獨立/配置/ standalone.xml:

對於WildFly和JBoss EAP 6.x的

<extensions> 
    <extension module="org.keycloak.keycloak-subsystem"/> 
    ... 
</extensions> 

<profile> 
    <subsystem xmlns="urn:jboss:domain:keycloak:1.0"> 
     <auth-server name="main-auth-server"> 
      <enabled>true</enabled> 
      <web-context>auth</web-context> 
     </auth-server> 
    </subsystem> 
    ... 
</profile> 

我正在使用此keycloak(keycloak-appliance-dist-all-1.1.0.Final)http://sourceforge.net/projects/keycloak/files/1.1.0.Final/keycloak-appliance-dist-all-1.1.0.Final.zip/download

我從包中成功部署了示例keycloak 1.1.0,並希望在我的應用程序中使用keycloak。我究竟做錯了什麼?

編輯:

我想我找到導致問題的元素:

<parent> 
    <artifactId>keycloak-parent</artifactId> 
    <groupId>org.keycloak</groupId> 
    <version>1.1.0.Final</version> 
    <relativePath>../../../pom.xml</relativePath> 
</parent> 

當我從例子項目中刪除此parent,它停止工作

我的應用程序結構

mainapp
... pom.xml
... module1 ... pom.xml
... module2 ... pom.xml
... module3 ... pom.xml

每個模塊都有parentmainapp

當我從keycloakmainapppom.xml添加父我有parent錯誤mainapp像其他模塊的pom.xml

Plugin execution not covered by lifecycle configuration:

我也嘗試添加dependencykeycloak-parent但仍ID不能正常工作

我該如何解決這個問題?

回答

2

Keycloak由一個服務器(Keycloak服務器)和一個適配器組成,它可以保護您的應用程序並處理身份驗證。如果您在Keycloak服務器所在的服務器上部署自己的應用程序,則需要將Keycloak適配器添加到服務器(如前所述)(請參閱Keycloak adapters)。 Keycloak的最新版本作爲預配置的Wildfly 9發佈,因此可能適合您的應用程序。還有適用於其他容器或純HTML客戶端的適配器。

從你的問題我猜你試圖修改Keycloak的例子到你自己的應用程序中。 Keycloak示例使用共享的父POM,因此它可能希望將其剝離到單個POM以獲得更好的概述。或者,根據您的專業知識,您可以從具有JAAS安全性的基本JEE應用程序開始,並將其部署到Keycloak服務器(安裝了JBoss/Wildfly適配器)。見例如Oracle's JEE 6 Tutorial

0

爲了讓您的應用程序使用keycloak,您必須在您的服務器上安裝一個適配器。以下是詳細信息: https://docs.jboss.org/keycloak/docs/1.1.0.Final/userguide/html/ch08.html

您可以在WEB-INF /上部署keycloak子系統或keycloak.json文件。兩種情況下,您必須安裝適配器 Registers

+0

現在鏈接已損壞,請參閱https://keycloak.github.io/docs/userguide/keycloak-server/html/ch08.html –

相關問題