tomcat版jivejdon问题报告帖,长期更新

如有道友在安装或使用过程中遇到了错误可跟这个帖子.
新增功能:帖子置顶和公告.界面元素取自开源论坛Jforum,希望更多道友加入!!

支持,集众家之长就好,有时间我会把置顶等功能加到这个论坛上,欢迎这样在一个框架和原型基础上的百家齐放,不同版本,这样,才能体现框架的能力和设计的灵活性,所以,为什么Java中有标准,但是有很多不同实现,比如J2EE是标准,那么实现就很多,这些都体现了软件设计的智慧。

你在微软单一标准单一实现的世界中,能看到这种设计的智慧吗?久而久之,你就没有软件设计智慧了,成为工具的奴隶。

好。。。。。。。。。最近想好好看看 jivejdon的源代码。。。前几个月碰到不少问题 有时间一起贴过来
大家讨论下:)

目前发现的安装问题:
1,不能注册,原因可能是数据库编码不是UTF8
2, 出现java.lang.UnsupportedClassVersionError,错误是JDK版本造成的,我是1.6,用1.6JDK就没有问题

这是帖子置顶和公告的界面


[该贴被oojdon于2008-10-17 00:34修改过]


看来有必要引入Maven了,这样,我这里对JiveJdon核心修改组件和你的组件可以自由搭配,但是搞了Maven就复杂,很多初学者都不会下载,又影响推广。

最近更新:
重构原版jivejdon的站内短信模块,使用方法类似邮件系统,代码暂时没有加入freebox建议的规则表达,短信同论坛帖子使用UBB格式化。

感谢这两个帖子:
请教站内消息设计疑问
Jivedon3.0站内消息设计的疑惑

感谢高人freebox

tomcat版jivejdon的ajax框架采用jquery

下一步计划:
1,集成强大的全文搜索引擎
2,精确的用户在线状态显示


[该贴被oojdon于2008-10-21 12:58修改过]

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.apache.catalina.realm.JAASRealm.parseClassNames(JAASRealm.java:274)
at org.apache.catalina.realm.JAASRealm.start(JAASRealm.java:553)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)

jdk 1.5.0

2008-10-29 11:11:17 org.apache.catalina.realm.JAASRealm authenticate
严重: Unexpected error
java.lang.SecurityException: 无法定位登录配置
at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at javax.security.auth.login.Configuration$3.run(Configuration.java:216)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.Configuration.getConfiguration(Configuration.java:210)
at javax.security.auth.login.LoginContext$1.run(LoginContext.java:237)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.init(LoginContext.java:234)
at javax.security.auth.login.LoginContext.<init>(LoginContext.java:403)
at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:345)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:258)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: 无法定位登录配置
at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:206)
at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:95)
... 24 more


===================这是我自己的应用,用的jaas 登录时才出错.

这个错误很正常,因为你的用户名或者密码错误,所以JAAS抛异常

站内短信重构加强:


public class ShortMessage extends Model{
private Long shortMessageId;
private String creationDate;
private String sendDate;
private String subject;

@Transient
private String filteredSubject;

private String body;

@Transient
private String filteredBody;

@ManyToOne
@JoinColumn(name = "fromId")
private Account fromAccount;

@ManyToOne
@JoinColumn(name =
"toId")
private Account toAccount;
}

截图:


很漂亮,很专业,有机会我会移植到当前这个论坛中。

-不是用户名密码的问题.
发现在eclipse中启动tomcat就会出这个问题.手工启动问题消除
另 jaas.jar打个包放到引用中有什么用?

我也试过了,可能是eclipse启动的时候catalina.bat中添加的环境变量没启作用,startup.bat手工启动则没有问题。
jaas.jar要放到tomcat的lib下,这样启动的时候才能找到JAAS类

解决方法:
http://www.jdon.com/jivejdon/thread/34859.html

myeclipse->preferences->servers->tomcat->tomcat6->jdk->optional java vm arg->
-Djava.security.auth.login.config==D:\java\jdon_tomcat\conf\jaas.config


目前程序只能跑在1.6Jdk上,如果有人在1.5Jdk上部署成功的,望分享经验!



[该贴被oojdon于2008-11-01 21:49修改过]

警告: Login exception authenticating username "gg"
javax.security.auth.login.LoginException: 登录失败:忽略所有模块
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:921)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:1
86)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:6
80)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:363)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
Authenticator.java:258)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Thread.java:619)