Jobss4.2,windows2003 ,项目中因为需要与sap连接,安装了jco包,需要在system32目录下安装两个dll文件,今天早上这两个文件突然不见了(原因正在查找中,很奇怪),结果所有的.action都不能访问了,奇怪的是项目中只有两个action使用了jco这个包,其他的action与jco一点关系也没有,但是也不能访问了。把这两个文件拷贝回去,重新启动一下jboss,就一切正常了。
另一个奇怪的现象,是经常这两个文件还存在,但系统却找不到了,也就是报DLL失效了,这是为何呢?

解决方案 »

  1.   

    一般jobss中都集成tomcat,tomcat作为它的jsp web服务器
    jobss是j2ee的容器, 而tomacat只是单纯的一个jsp的web服务器
    看看能不能选择tomcat
      

  2.   

    是不是
    public class SomeBaseAction extends Action {
    static {
      System.load...
    }
    ...
    }public class AAction extends SomeBaseAction {}
    public class BAction extends SomeBaseAction {}
    public class CAction extends SomeBaseAction {}
    或者其他基础类的static段加载dll失败,导致Action类加载失败另外,尽量不要放system32里面,可以考虑放到jboss服务的启动目录下去,sys32容易被杀毒软件,特别是360干掉
      

  3.   

    JCO的dll必须放在system32目录下,另外没有你说这种静态加载的情况。jco的dll不需要通过加载dll,它是调用jco的jar包,这个jar包需要访问此dll,在代码中是不需要处理这个dll的。