为什么一个在application环境下可以运行的jar放在web环境下就出问题

kingastar 2008-06-11 04:36:10
我引用了一个别人开发的jar,这个jar是关于调用LDAP的库,在java project引用,并测试使用没有问题。
我又创建了一个java web project,编写了一个servlet,在里面同样的代码,结果部署到resin(java server),却出现问题。

那个jar提示:
falseThere was an error communicating with LDAP

而同样代码在java application project是没有问题的。

请高手指导一下。
...全文
138 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tavor 2008-06-12
  • 打赏
  • 举报
回复
可能在resin环境下缺少相应的jar包吧,特别是从你的错误来看
kingastar 2008-06-11
  • 打赏
  • 举报
回复
这是我在SDN上找的相关文章
http://forum.java.sun.com/thread.jspa?threadID=563958&messageID=3040258
kingastar 2008-06-11
  • 打赏
  • 举报
回复
我修改了一下代码让它弹出错误,
调试中在resin console 收集的错误提示:

javax.naming.NotContextException: Not an instance of DirContext
at javax.naming.directory.InitialDirContext.getURLOrDefaultInitDirCtx(In
itialDirContext.java:92)
at javax.naming.directory.InitialDirContext.search(InitialDirContext.jav
a:248)
at test.w3login.authenticate(w3login.java:94)
at test.w3login.authenticate(w3login.java:27)
at test.hello.CheckUserLogin(hello.java:113)
at test.hello.doGet(hello.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterC
hain.java:103)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain
.java:187)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocatio
n.java:266)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:270
)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:678)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643)
at java.lang.Thread.run(Thread.java:595)
[18:06:05.750] {http--8080-9} java.lang.NullPointerException
[18:06:05.750] {http--8080-9} at test.w3login.authenticate(w3login.java:102)
[18:06:05.750] {http--8080-9} at test.w3login.authenticate(w3login.java:27)
[18:06:05.750] {http--8080-9} at test.hello.CheckUserLogin(hello.java:113)
[18:06:05.750] {http--8080-9} at test.hello.doGet(hello.java:50)
[18:06:05.750] {http--8080-9} at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:114)
[18:06:05.750] {http--8080-9} at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:91)
[18:06:05.750] {http--8080-9} at com.caucho.server.dispatch.ServletFilterChain
.doFilter(ServletFilterChain.java:103)
[18:06:05.750] {http--8080-9} at com.caucho.server.webapp.WebAppFilterChain.do
Filter(WebAppFilterChain.java:187)
[18:06:05.750] {http--8080-9} at com.caucho.server.dispatch.ServletInvocation.
service(ServletInvocation.java:266)
[18:06:05.750] {http--8080-9} at com.caucho.server.http.HttpRequest.handleRequ
est(HttpRequest.java:270)
[18:06:05.750] {http--8080-9} at com.caucho.server.port.TcpConnection.run(TcpC
onnection.java:678)
[18:06:05.750] {http--8080-9} at com.caucho.util.ThreadPool$Item.runTasks(Thre
adPool.java:721)
[18:06:05.750] {http--8080-9} at com.caucho.util.ThreadPool$Item.run(ThreadPoo
l.java:643)
[18:06:05.750] {http--8080-9} at java.lang.Thread.run(Thread.java:595)
kingastar 2008-06-11
  • 打赏
  • 举报
回复
什么叫使用jar的方式不对?

cool_scorpion 2008-06-11
  • 打赏
  • 举报
回复
估计是你使用jar的方式不对吧,
你给的信息太少,很难判断
kingastar 2008-06-11
  • 打赏
  • 举报
回复
确定部署成功了。
servlet已经运行。
在调用那个jar,正常情况是报连接正常。(在java application下面已经测试过了)。
实际上报的是
There was an error communicating with LDAP

感觉好像servlet调用的时候,出现访问问题,但具体我不知道在哪里。
  • 打赏
  • 举报
回复
部署成功啦?
确定?
kingastar 2008-06-11
  • 打赏
  • 举报
回复
自己顶一下,问题很复杂么?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧