0
我们在房子中使用maven来构建Spring 3.0.X
应用程序,所以,我已将所有Tibco相关的jar文件添加到/server/<Profile>/lib
文件夹中,在maven pom .xml文件我已经添加了以下变化Spring应用程序无法找到“com.tibco.tibjms.naming.TibjmsInitialContextFactory”
<dependency>
<groupId>com.tibco</groupId>
<artifactId>tibjms</artifactId>
<scope>provided</scope>
<version>4.4.1v2</version>
</dependency>
部署war文件到文件夹jboss 5.1/server/<Profile>/deploy
。
在部署中出现以下错误,我重新启动服务器多次,仍然弹簧应用程序无法从配置文件的/ lib文件夹加载类。
春天JMS的config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd">
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
initialFactory
</prop>
<prop key="java.naming.provider.url">
url
</prop>
</props>
</property>
</bean>
<bean id="queueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName"
value="queueConn" />
</bean>
<bean id="listener"
class="class">
</bean>
<jms:listener-container connection-factory="queueConnectionFactory"
acknowledge="transacted" concurrency="5">
<jms:listener destination="Outbound.Queue"
ref="listener" />
</jms:listener-container>
</beans>
更新:我启用了JBoss的类加载,类被加载到内存中,当我检查了boot.log文件tibjms。不明白为什么spring不能从/ lib加载类。
为什么'scope'' provided''? jar是否已经存在于jboss lib中? – sidgate
我很困惑,为什么你用你的方式摆弄罐子。如果你提供作为范围,它告诉maven当它建立你的战争,不用麻烦得到他们从回购作为jboss/tomcat什么已经有他们。所以在我看来,目前你的问题是任何正在为你的应用程序提供服务的问题。你能在你的应用服务器内的任何地方找到这些罐子吗? – nuzz
@nuzz是的,我将罐子添加到'/ server//lib'文件夹。我正在做'提供'范围,因为jar已经在服务器lib文件夹中可用。我期待jboss类加载器为我加载类。 –
Zeus