2014-09-30 5 views
5

'util.jar'라는 jar 파일이 있다고 가정합니다. 이 jar 파일은 대부분 JPA 엔티티와 일부 útil 클래스 (EJB 없음)를 포함합니다. 이 항아리를 Wildfly에 배치 된 모든 전쟁에 사용할 수있게하려면 어떻게해야합니까? (전쟁의 WEB-INF/lib 안에 항아리를 놓지 않고)?Wildfly에서 war 배포가있는 util jar 파일을 공유하십시오.

<module xmlns="urn:jboss:module:1.3" name="br.edu.ufca"> 
    <resources> 
     <resource-root path="ufca.jar"/> 
    </resources> 

    <dependencies> 
    </dependencies> 
</module> 

과 나의 전쟁 MANIFEST.MF 파일 :

나는 제이보스의 모듈을 만들 수 thied

Dependencies: br.edu.ufca export 

을하지만 나는이 같은하는 오류의 모든 종류를 받고 있어요 :

Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.LinkageError: Failed to link br/edu/ufca/web/FalhaValidacaoParametroVisao (Module "br.edu.ufca:main" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\wildfly-8.1.0.Final\modules,C:\wildfly-8.1.0.Final\modules\system\layers\base))) 
    at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:219) 
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87) 
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 
    ... 3 more 
Caused by: java.lang.RuntimeException: java.lang.LinkageError: Failed to link br/edu/ufca/web/FalhaValidacaoParametroVisao (Module "br.edu.ufca:main" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\wildfly-8.1.0.Final\modules,C:\wildfly-8.1.0.Final\modules\system\layers\base))) 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:275) 
    at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173) 
    at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:190) 
    ... 7 more 
Caused by: java.lang.LinkageError: Failed to link br/edu/ufca/web/FalhaValidacaoParametroVisao (Module "br.edu.ufca:main" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\wildfly-8.1.0.Final\modules,C:\wildfly-8.1.0.Final\modules\system\layers\base))) 
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:487) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:92) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.Module.loadModuleClass(Module.java:568) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final] 
    at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_20] 
    at java.lang.Class.forName(Class.java:340) [rt.jar:1.8.0_20] 
    at com.sun.faces.util.Util.loadClass(Util.java:325) 
    at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:376) 
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass(FaceletTaglibConfigProcessor.java:427) 
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:378) 
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:321) 
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:270) 
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:437) 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:216) 
    ... 9 more 
Caused by: java.lang.NoClassDefFoundError: javax/faces/event/SystemEventListener 
    at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.8.0_20] 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) [rt.jar:1.8.0_20] 
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482) [jboss-modules.jar:1.3.3.Final] 
    ... 27 more 
Caused by: java.lang.ClassNotFoundException: javax.faces.event.SystemEventListener from [Module "br.edu.ufca:main" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\wildfly-8.1.0.Final\modules,C:\wildfly-8.1.0.Final\modules\system\layers\base))] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final] 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final] 
    ... 31 more 

15:12:16,710 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "email-servidores.war")]) - failure description: {"JBAS014671: Failed services" => {"jboss.undertow.deployment.default-server.default-host./email-servidores" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./email-servidores: Failed to start service 
    Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.LinkageError: Failed to link br/edu/ufca/web/FalhaValidacaoParametroVisao (Module \"br.edu.ufca:main\" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\\wildfly-8.1.0.Final\\modules,C:\\wildfly-8.1.0.Final\\modules\\system\\layers\\base))) 
    Caused by: java.lang.RuntimeException: java.lang.LinkageError: Failed to link br/edu/ufca/web/FalhaValidacaoParametroVisao (Module \"br.edu.ufca:main\" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\\wildfly-8.1.0.Final\\modules,C:\\wildfly-8.1.0.Final\\modules\\system\\layers\\base))) 
    Caused by: java.lang.LinkageError: Failed to link br/edu/ufca/web/FalhaValidacaoParametroVisao (Module \"br.edu.ufca:main\" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\\wildfly-8.1.0.Final\\modules,C:\\wildfly-8.1.0.Final\\modules\\system\\layers\\base))) 
    Caused by: java.lang.NoClassDefFoundError: javax/faces/event/SystemEventListener 
    Caused by: java.lang.ClassNotFoundException: javax.faces.event.SystemEventListener from [Module \"br.edu.ufca:main\" from local module loader @16e9adb (finder: local module finder @121714c (roots: C:\\wildfly-8.1.0.Final\\modules,C:\\wildfly-8.1.0.Final\\modules\\system\\layers\\base))]"}} 
15:12:16,745 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "email-servidores.war" (runtime-name : "email-servidores.war") 
15:12:16,751 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report 
JBAS014777: Services which failed to start:  service jboss.undertow.deployment.default-server.default-host./email-servidores: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./email-servidores: Failed to start service 

15:12:16,859 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management 
15:12:16,859 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 
15:12:16,860 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: WildFly 8.1.0.Final "Kenny" started (with errors) in 6985ms - Started 275 of 331 services (2 services failed or missing dependencies, 91 services are lazy, passive or on-demand) 
15:12:17,001 INFO [org.jboss.weld.deployer] (MSC service thread 1-6) JBAS016009: Stopping weld service for deployment email-servidores.war 
15:12:17,241 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015877: Stopped deployment email-servidores.war (runtime-name: email-servidores.war) in 252ms 
15:12:17,354 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018558: Undeployed "email-servidores.war" (runtime-name: "email-servidores.war") 
15:12:17,356 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report 
JBAS014775: New missing/unsatisfied dependencies: 
     service jboss.deployment.unit."email-servidores.war".component."com.sun.faces.config.ConfigureListener".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.deployment.unit."email-servidores.war".component."javax.faces.webapp.FacesServlet".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.deployment.unit."email-servidores.war".component."javax.faces.webapp.FacetTag".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.deployment.unit."email-servidores.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.deployment.unit."email-servidores.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.deployment.unit."email-servidores.war".component."org.jboss.weld.servlet.WeldInitialListener".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.deployment.unit."email-servidores.war".component."org.jboss.weld.servlet.WeldTerminalListener".START (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
     service jboss.undertow.deployment.default-server.default-host./email-servidores (missing) dependents: [service jboss.deployment.unit."email-servidores.war".deploymentCompleteService] 
JBAS014777: Services which failed to start:  service jboss.undertow.deployment.default-server.default-host./email-servidores 

감사합니다.

마르코스

는 UPDATE

이제했다.

<dependencies> 
    <module name="javaee.api"/> 
    <module name="javax.faces.api"/> 
</dependencies> 
+0

이것은 매우 유용했습니다! 고맙습니다! – tsykora

+0

당신을 진심으로 환영합니다. – Marcos

답변

3

사용자 정의 모듈을 생성하고 단지 응용 프로그램 서버에 jar 파일을 배포하는 것입니다 해당 모듈에 대한 종속성을 정의하는 또 다른 방법 (f.i. ufca.jar) : 나는 다음과 같은 종속성을 추가했다. jar가 배포되면 f.i를 사용하여 war 파일에서이 배포에 대한 종속성을 간단히 선언 할 수 있습니다. deployment.ufca.jar을 ID로 사용하십시오.

전쟁 파일에서 f.i. jboss-deployment-structure.xml을 사용하여 종속성을 추가합니다 (f.i.

<dependencies> 
    <module name="deployment.ufca.jar" /> 
</dependencies> 

도 참조 사용 :

<subsystem xmlns="urn:jboss:domain:ee:1.0" >    
    <global-modules> 
    <module name="br.edu.ufca" slot="main" />    
    </global-modules> 
</subsystem> 

I : https://docs.jboss.org/author/display/WFLY8/Class+Loading+in+WildFly 정말 기술적 인 이유로 필요한 경우

+0

좀 더 자세히 설명해 주시겠습니까? – Marcos

+0

오, 내 대답이 손상된 것을 알 수 있습니다. 전화가 끝나면 곧 편집 할 것입니다. – shillner

+0

나는 f.i를 이해하지 못했다. 부품. 이 항목이 MANIFEST.MF 파일에 있습니까? war 파일에 의존성을 선언하는 방법의 예를 포함하도록 답변을 다시 업데이트 할 수 있습니까? – Marcos

0

, 그것은 가능한 것은 배포 구성에서 이러한 부분에 모듈 클래스에게 감사를 액세스 할 수 있도록하는 일반적으로 JDBC 드라이버를 게시 할 때 처음에는 DataSource에 대해이 방법을 사용하지만 응용 프로그램 코드가 구현 클래스에 액세스해야 할 때도 마찬가지입니다.

여러 독립 실행 형 배포간에 많은 수의 종속성을 공유하려는 경우 메모리를 절약하는 좋은 방법입니다.

관련 문제