部署JiveJdon3的问题

部署到Jboss上以后,访问http://localhost:8080/jivejdon/
jboss控制台会抛出下列异常:
17:21:58,437 ERROR [JdbcTempSource] javax.naming.NameNotFoundException: JiveJdonDS not bound
17:21:58,437 ERROR [JdbcTempSSOSource] javax.naming.NameNotFoundException: Security not bound
17:21:58,562 INFO [ContainerDirector] <======== Jdon ramework started successfully! =========>
17:21:58,687 ERROR [POJOObjectFactory] [JdonFramework]create error: java.lang.No
ClassDefFoundError: org/compass/core/CompassException
17:21:58,687 ERROR [DefaultTargetServiceFactory] [JdonFramework]create error: ja
va.lang.Exception: java.lang.NoClassDefFoundError: org/compass/core/CompassException
17:21:58,703 ERROR [Debug] com.jdon.aop.interceptor.PoolInterceptor
我都是按照install_cn.txt说明进行部署的
jboss版本是jboss-4.2.2.GA,是不是跟这个有关系呢?
麻烦大家帮个忙,先谢谢啦

是元旦论坛放假还是这个问题太幼稚高手们不屑回答...

请先用我们提供的JBoss试验运行一下。

>JiveJdonDS not bound
表示你没有配置jBoss的数据源。

感谢banq的回复
我根据install文档配置了mysqldatasource,(mysql-ds.xml中配置的JNDI名称加上前缀java:/ ),可是启动jboss服务会提示 ":" 是不合法的value,如果不加java:/的话,还是找不到datasource,请问这里的JNDI应该怎么配置呢?

[该贴被fish4j于2008-01-04 00:22修改过]

其实是服务器段(jboss)的配置问题,可以把jdon用到的包布置在服务器段,datasource的配置只要直接拷贝过去就可以了!

我来回答你的问题:
jivejdon的代码中有关mysql-ds.xml是这样的:
<local-tx-datasource>
<jndi-name>JiveJdonDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/jivejdon?useUnicode=true&characterEncoding=UTF-8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>mysql</password>
<min-pool-size>3</min-pool-size>
<max-pool-size>20</max-pool-size>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>Security</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/security?useUnicode=true&characterEncoding=UTF-8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>mysql</password>
<min-pool-size>1</min-pool-size>
<max-pool-size>10</max-pool-size>
</local-tx-datasource>

但是这个文档不完整,缺少根元素,完整的应该是这样:
<datasource>
<local-tx-datasource>
<jndi-name>JiveJdonDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/jivejdon?useUnicode=true&characterEncoding=UTF-8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>mysql</password>
<min-pool-size>3</min-pool-size>
<max-pool-size>20</max-pool-size>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>Security</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/security?useUnicode=true&characterEncoding=UTF-8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>mysql</password>
<min-pool-size>1</min-pool-size>
<max-pool-size>10</max-pool-size>
</local-tx-datasource>
</datasource>

你再试试,应该就ok了!
希望能尽早改正。

ps:java.lang.NoClassDefFoundError:org/compass/core/CompassException
这个问题我还没解决。

java.lang.NoClassDefFoundError:org/compass/core/CompassException
应该是searchlib里的compass包,已经里面的lucene的4个jar包没扔到jboss/server/default/lib里,这个那个配置文档上没说。