怎样把额外的jar包引入domino 5.09的java环境中?

时间:2021-06-14 09:24:51
我要在domino中写一个servlet使用jdbc连接db2数据库,其中用到了db2java包中的COM/ibm/db2/jdbc/net/DB2Driver类,那么在domino中运行的时候,我需要让domino找得到这个jar包,于是,我就不知道应该把这个包放在哪里了,还有在哪里配置引入的类路径。我把它放在/servlet目录下,没有作用,server还是报告没有找到类的错误。该怎么办?

23 个解决方案

#1


服务器文档中Domino Web引擎设置有没有设置好?

#2


当然设置好了,你的意思,我的db2java.jar这个包应该放在哪里?再说一遍,这个包是我的程序中需要调用的,不是我编的servlet,domino报了COM/ibm/db2/jdbc/net/DB2Driver这个类找不到这个错误。我其他的servlet是可以运行的,因为以前没有试过引入外部的包。这次是第一次试。

#3


你需要将你这个JAR文件,在你的servlet原代码中引用。

#4


你把DB2Driver里的jar包全部加到环境变量classpath中去,系统会自动查找的。注意,是在服务器端。
我的电脑-》环境变量-》classpath

#5


我已经加了,事实上,只要装过db2 8.1的管理端后,环境变量里就会有这些jar包。

#6


To davidnim:你的意思是在servlet前面import这些个类呢,还是怎么样?在jbuilder环境下,不import也可以正常调试通过并运行的啊。

#7


运行的话,在服务器端的notes.ini文件中加一个javaclasspath变量,将你的jar文件的路径加入赋值给它(绝对路径)

调试的话,在客户端的notes.ini文件同样处理

对了,是不是 javaclasspath我还得查查资料,你先试试

#8


果然记错了,应该是像下面这样:
JavaUserClasses=d:\.....\test.jar;d:\temp\other.jar

#9


这个DB2的驱动的加载应该和MSSQL的驱动的加载原理应该是一样的,先安装驱动,然后在把LIB目录下的JAR文件全都加到classpath中,这样如果要加载驱动,自动会去找的。
我都是这样实现MSSQL的驱动的,运行成功。

#10


多谢各位鼎立支持,我星期一回去试试看,成功的话,力马给各位加分!

#11


受不了了,以上方法都试过,全部无效,天哪,难道我的DOMINO 5.09有问题?残念!大家还有什么偏房?最好真正自己试过的,不要是哪里手册上看看来的。救救我吧!

#12


我就是用我说的方法引入其他的jar包进行二次开发的,没法帮到你了
有可能要注意的一点是,domino本身带有jvm
我没有另外安装java sdk

#13


xaser(繁星似火),我按你的方法试验了后,服务器报了一个Addin: Agent printing: java.lang.NoClassDefFoundError:java/security/PrivilegedExceptionAction:java/security/PrivilegedExceptionAction错误,不知道是什么原因。
另外我把所有的环境变量信息都清空,重启服务器后(不是domino),发现我写的一个最简单的servlet(捕捉用户提交的字符串并打印出来)还是可以运行的,这个代理也能正常运行,但是就不能加载COM/ibm/db2/jdbc/net/DB2Driver这个包,并由此报告了一堆错误,但是可以继续运行下去(因为我try,catch了),并正常结束。并不需要其他帖子上所说的NCSO.jar、Notes.jar。

#14


这里有个偏方,你试试,反正不花你什么时间。
你DB2 JDBC的jar文件Copy 到Lotus\Domino\Data\domino\java(注意你自己的安装目录)
Lotus是我的安装目录,剩下的目录是固定的。顺便说一下,NCSO.jar是肯定要的,
但是不用你操心,5.0以上版本好象都带有的。

#15


忘了一个重要的问题:要是我的方法行了,你要给分哦,
少于50分我不要的!!:)~

#16


To: whatisyourname(逆刃刀) :你说的偏方我在帖这个帖子之前就试过了,不起作用,还有,我的DB2是最新版本的8.1,这方面有没有什么关系,据说与以前版本的DB2不兼容;但我认为没有关系,关键还是外部jar包domino不认:(
另外我的意思是NCSO.jar不在服务器2000 SERVER系统的环境变量里面,不是说不在DOMINO的目录里面。不要说DOMINO了,就连NOTES客户端的Lotus\Notes\目录下都有这些jar包。

#17


又来一个偏方!:)~
我查了资料,那些.jar文件放在Domino目录里面或者在系统的环境变量里说
明都可以,所以你的问题应该不是类的路径的问题。没有看见你的源码,据说
Domino里面不能写Servlet,只能写代理,而且代理必须扩展Lotus的AgentBase类。
例如:import lotus.domino.*;
      public class myclass extends AgentBase{
另外,我看鸟语资料好象说的你的IIOP服务要启动。
不知道这些对你有没有用,:)~

#18


To: whatisyourname(逆刃刀),你后来的那个偏方我也早试过了,不行,另外你说的IIOP服务不对,应该是DIIOP服务,运行SERVLET的话,这个服务一定要启动的,我当然也启动了。

Domino里面不能写Servlet,只是一般人认为的和lotus自己文档里写的,老外有一篇很有名的文章,教大家怎么在notes designer里面写servlet,而且保存后,class文件是编译到你客户端机子的临时目录下的,而且这种编译出来的class肯定不会被domino报主版本错误,因为就用的是domino自己的jvm和jdk。

#19


是否为您的企业、产品、网站推广事宜而发愁?

  其实只要您选择方法得当,利用邮件推广达到的效果是传统媒体无法比拟的,而花费只是传统推广的几万分之一!邮件营销使您将商业广告迅速发送到数千万客户电子邮箱中,实乃影响您一生的成功捷径,而成本只需300元。并且简单易用,无须专业知识。

    详情请看网址: http://www.nic2000.com/?chengfu

#20


看来firfang(阿呆) 兄造诣很深啊,我来算是凑热闹吧,:)~

#21


阿呆 兄解决了没有啊??

#22


用xaser(繁星似火) 的方法我成功解决了,用的是R5.10

#23


楼上:在notes.ini引入,在java代理中引入却不行
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\jaxen-core.jar
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\jaxen-jdom.jar
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\jdom.jar
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\saxpath.jar

#1


服务器文档中Domino Web引擎设置有没有设置好?

#2


当然设置好了,你的意思,我的db2java.jar这个包应该放在哪里?再说一遍,这个包是我的程序中需要调用的,不是我编的servlet,domino报了COM/ibm/db2/jdbc/net/DB2Driver这个类找不到这个错误。我其他的servlet是可以运行的,因为以前没有试过引入外部的包。这次是第一次试。

#3


你需要将你这个JAR文件,在你的servlet原代码中引用。

#4


你把DB2Driver里的jar包全部加到环境变量classpath中去,系统会自动查找的。注意,是在服务器端。
我的电脑-》环境变量-》classpath

#5


我已经加了,事实上,只要装过db2 8.1的管理端后,环境变量里就会有这些jar包。

#6


To davidnim:你的意思是在servlet前面import这些个类呢,还是怎么样?在jbuilder环境下,不import也可以正常调试通过并运行的啊。

#7


运行的话,在服务器端的notes.ini文件中加一个javaclasspath变量,将你的jar文件的路径加入赋值给它(绝对路径)

调试的话,在客户端的notes.ini文件同样处理

对了,是不是 javaclasspath我还得查查资料,你先试试

#8


果然记错了,应该是像下面这样:
JavaUserClasses=d:\.....\test.jar;d:\temp\other.jar

#9


这个DB2的驱动的加载应该和MSSQL的驱动的加载原理应该是一样的,先安装驱动,然后在把LIB目录下的JAR文件全都加到classpath中,这样如果要加载驱动,自动会去找的。
我都是这样实现MSSQL的驱动的,运行成功。

#10


多谢各位鼎立支持,我星期一回去试试看,成功的话,力马给各位加分!

#11


受不了了,以上方法都试过,全部无效,天哪,难道我的DOMINO 5.09有问题?残念!大家还有什么偏房?最好真正自己试过的,不要是哪里手册上看看来的。救救我吧!

#12


我就是用我说的方法引入其他的jar包进行二次开发的,没法帮到你了
有可能要注意的一点是,domino本身带有jvm
我没有另外安装java sdk

#13


xaser(繁星似火),我按你的方法试验了后,服务器报了一个Addin: Agent printing: java.lang.NoClassDefFoundError:java/security/PrivilegedExceptionAction:java/security/PrivilegedExceptionAction错误,不知道是什么原因。
另外我把所有的环境变量信息都清空,重启服务器后(不是domino),发现我写的一个最简单的servlet(捕捉用户提交的字符串并打印出来)还是可以运行的,这个代理也能正常运行,但是就不能加载COM/ibm/db2/jdbc/net/DB2Driver这个包,并由此报告了一堆错误,但是可以继续运行下去(因为我try,catch了),并正常结束。并不需要其他帖子上所说的NCSO.jar、Notes.jar。

#14


这里有个偏方,你试试,反正不花你什么时间。
你DB2 JDBC的jar文件Copy 到Lotus\Domino\Data\domino\java(注意你自己的安装目录)
Lotus是我的安装目录,剩下的目录是固定的。顺便说一下,NCSO.jar是肯定要的,
但是不用你操心,5.0以上版本好象都带有的。

#15


忘了一个重要的问题:要是我的方法行了,你要给分哦,
少于50分我不要的!!:)~

#16


To: whatisyourname(逆刃刀) :你说的偏方我在帖这个帖子之前就试过了,不起作用,还有,我的DB2是最新版本的8.1,这方面有没有什么关系,据说与以前版本的DB2不兼容;但我认为没有关系,关键还是外部jar包domino不认:(
另外我的意思是NCSO.jar不在服务器2000 SERVER系统的环境变量里面,不是说不在DOMINO的目录里面。不要说DOMINO了,就连NOTES客户端的Lotus\Notes\目录下都有这些jar包。

#17


又来一个偏方!:)~
我查了资料,那些.jar文件放在Domino目录里面或者在系统的环境变量里说
明都可以,所以你的问题应该不是类的路径的问题。没有看见你的源码,据说
Domino里面不能写Servlet,只能写代理,而且代理必须扩展Lotus的AgentBase类。
例如:import lotus.domino.*;
      public class myclass extends AgentBase{
另外,我看鸟语资料好象说的你的IIOP服务要启动。
不知道这些对你有没有用,:)~

#18


To: whatisyourname(逆刃刀),你后来的那个偏方我也早试过了,不行,另外你说的IIOP服务不对,应该是DIIOP服务,运行SERVLET的话,这个服务一定要启动的,我当然也启动了。

Domino里面不能写Servlet,只是一般人认为的和lotus自己文档里写的,老外有一篇很有名的文章,教大家怎么在notes designer里面写servlet,而且保存后,class文件是编译到你客户端机子的临时目录下的,而且这种编译出来的class肯定不会被domino报主版本错误,因为就用的是domino自己的jvm和jdk。

#19


是否为您的企业、产品、网站推广事宜而发愁?

  其实只要您选择方法得当,利用邮件推广达到的效果是传统媒体无法比拟的,而花费只是传统推广的几万分之一!邮件营销使您将商业广告迅速发送到数千万客户电子邮箱中,实乃影响您一生的成功捷径,而成本只需300元。并且简单易用,无须专业知识。

    详情请看网址: http://www.nic2000.com/?chengfu

#20


看来firfang(阿呆) 兄造诣很深啊,我来算是凑热闹吧,:)~

#21


阿呆 兄解决了没有啊??

#22


用xaser(繁星似火) 的方法我成功解决了,用的是R5.10

#23


楼上:在notes.ini引入,在java代理中引入却不行
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\jaxen-core.jar
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\jaxen-jdom.jar
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\jdom.jar
JavaUserClasses=C:\jdk1.4.1\jre\lib\ext\saxpath.jar