简体   繁体   English

JBOSS不需要我自己的库

[英]JBOSS doesn't take my own libs

Check out my answer for solution 查看我的答案以寻求解决方案

I'm deploying a WAR in a Jboss Server, but I don't get that Jboss take my own libs, it is using its own libs (I think that is my problem). 我在Jboss服务器中部署了WAR,但我不明白Jboss拥有自己的库,它使用自己的库(我认为这是我的问题)。

Structure of my project:
- projectName
--- src
----- main
-------webapp
---------WEB-INF
-----------jboss-classloading.xml
-----------jboss-deployment-structure.xml
-----------jboss-web.xml

---target
-----wars
-------myWar.war

At first I only had jboss-web.xml and jboss-deployment-structure but I read that jboss-classloading is necessary for this problem. 起初我只有jboss-web.xml和jboss-deployment-structure,但是我读到jboss-classloading对于这个问题是必要的。

jboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>  
<jboss-web>
<context-root>/myProject</context-root>
<class-loading java2ClassLoadingCompliance="false">
    <loader-repository>projectName/src/target/wars:loader=myWar.war
        <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
    </loader-repository>
</class-loading>

jboss-classloading.xml
<?xml version="1.0" encoding="UTF-8"?>
<classloading xmlns="urn:jboss:classloading:1.0"
parent-first="false"
domain="myWar.war"
top-level-classloader="true"
export-all="NON_EMPTY"
import-all="false">
</classloading>

It shows me 2 errors: 它显示了2个错误:

30/07/2015 07:30:03,795 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."myWar.war".FIRST_MODULE_USE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myWar.war".FIRST_MODULE_USE: JBAS018733: Error al procesar la fase FIRST_MODULE_USE de deployment "myWar.war"
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011426: No se pudo implementar el proveedor de persistencia empacado de la aplicación 'org.hibernate.ejb.HibernatePersistence'
        at org.jboss.as.jpa.processor.PersistenceProviderHandler.deploy(PersistenceProviderHandler.java:79)
        at org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:45)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
        ... 5 more
Caused by: java.lang.ClassCastException: class org.hibernate.ejb.HibernatePersistence
        at java.lang.Class.asSubclass(Class.java:3404) [rt.jar:1.8.0_40]
        at org.jboss.as.jpa.processor.PersistenceProviderHandler.deploy(PersistenceProviderHandler.java:73)
        ... 7 more


30/07/2015 11:47:03,930 ERROR [org.jboss.msc.service.fail] (MSC service     thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."myWar.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myWar.war".PARSE: JBAS018733: Error al procesar la fase PARSE de deployment "myWar.war"
at   org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
at  org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018014: No se logró analizar sintácticamente el descriptor "/content/myWar.war/WEB-INF/jboss-web.xml" en [4,5]
at org.jboss.as.web.deployment.JBossWebParsingDeploymentProcessor.deploy(JBossWebParsingDeploymentProcessor.java:79)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
... 5 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[4,5]
Message: Unexpected element 'class-loading' encountered
at org.jboss.metadata.parser.util.MetaDataElementParser.unexpectedElement(MetaDataElementParser.java:109)
at org.jboss.metadata.parser.jbossweb.JBossWebMetaDataParser.parse(JBossWebMetaDataParser.java:210)
at org.jboss.as.web.deployment.JBossWebParsingDeploymentProcessor.deploy(JBossWebParsingDeploymentProcessor.java:71)
... 6 more


If you need more information let me know it. 如果您需要更多信息,请告诉我。

Thank you in advance. 先感谢您。

EDIT WITH NEW ERROR 使用新错误进行编辑

31/07/2015 12:29:52,896 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/ksjm_ksjm_01]] (ServerService Thread Pool -- 53) JBWEB000287: Exception sending context initialized event to listener instance of class com.grupobbva.sl.soa.gui.catalogos.ApplicationContextListener: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grupoDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.grupobbva.sl.soa.configuracion.dao.impl.AbstractDao.sessionFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/dao-configuracion-applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288) [spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1116) [spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]


dao-configuracion-applicationContext.xml dao-configuracion-applicationContext.xml

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${configuracion.servicio.driverClassName}" />
    <property name="url" value="${configuracion.servicio.url}" />
    <property name="username" value="${usuario}" />
    <property name="password" value="${password}" />
</bean>

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.hbm2ddl.auto">${configuracion.servicio.hbm2ddl}</prop>
            <prop key="hibernate.dialect">${configuracion.servicio.dialect}</prop>
            <prop key="javax.persistence.jdbc.driver">${configuracion.servicio.driverClassName}</prop>
            <prop key="hibernate.default_schema">${configuracion.servicio.default-schema}</prop>
        </props>
    </property>
    <property name="packagesToScan"
        value="com.grupobbva.sl.soa.core.domain, com.grupobbva.sl.soa.core.domain.config" />
</bean>

I have read in other post that it would work if I upgrade my sessionFactory bean to hibernate 4....but it does not work for me =( 我在其他文章中已经读到,如果我将sessionFactory bean升级到休眠4,它将起作用。但是,它对我不起作用=(

Finally I solved this issue. 最后,我解决了这个问题。 I deleted jboss-classloading.xml and jboss-deployment-structure.xml and it worked!! 我删除了jboss-classloading.xml和jboss-deployment-structure.xml,它起作用了!! This way there is no "conflicts" between libraries :) 这样库之间就没有“冲突”了:)

I hope it can be useful for someone. 我希望它对某人有用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM