解决方案 »

  1.   


    com.hncatv.ldap.util.ConfigurationException: 无法读取指定的配置文件:\dbconfig.properties
    但是我在xp上面这样引用正常,去掉“\”,在xp运行程序,报错“无法读取指定的配置文件:dbconfig.properties”
      

  2.   

    去掉之后,在linux能读到数据么?
      

  3.   


    win下面是:\,而Linux下面是:/      
    所以你应该通过:File.separator  会自动根据系统转换;测试:"WebRoot"+File.separator+"dbconfig.properties"
    /*
          Linux结果为:WebRoot/dbconfig.properties
          Win  结果为:WebRoot\dbconfig.properties
    */我也是猜测、不喜勿喷
    PS:个人感觉还是写上绝对路径安全
      

  4.   


    - -! 我都没遇到过这种事情~
    我也不确定、应为win与Linux的路径分隔符是不一样的!
    而楼猪说:无法读取指定的配置文件:\dbconfig.properties
    这就说明这个分隔符是在win下面的、而linux应该是:/   ,要么就写死为:/   、要么就File.separator 根据系统自动转换,还有一点他这是部署在Linux下面的!
      

  5.   


    - -! 我都没遇到过这种事情~
    我也不确定、应为win与Linux的路径分隔符是不一样的!
    而楼猪说:无法读取指定的配置文件:\dbconfig.properties
    这就说明这个分隔符是在win下面的、而linux应该是:/   ,要么就写死为:/   、要么就File.separator 根据系统自动转换,还有一点他这是部署在Linux下面的!还是报错:
    com.hncatv.utils.ConfigurationException: 无法读取指定的配置文件:/dbconfig.properties
      

  6.   


    - -! 我都没遇到过这种事情~
    我也不确定、应为win与Linux的路径分隔符是不一样的!
    而楼猪说:无法读取指定的配置文件:\dbconfig.properties
    这就说明这个分隔符是在win下面的、而linux应该是:/   ,要么就写死为:/   、要么就File.separator 根据系统自动转换,还有一点他这是部署在Linux下面的!还是报错:
    com.hncatv.utils.ConfigurationException: 无法读取指定的配置文件:/dbconfig.properties

    你是怎么写的?
      

  7.   

    已解决:
    private static Connection getConnection(){

    Connection conn = null;
    try{
    //还是路径的问题,这里加上绝对路径就可以了
     System.out.println(new File("").getAbsolutePath());
    String config=new File("").getAbsolutePath()+File.separator+"dbconfig.properties";
    Configuration pr = new Configuration(config);
    String url=pr.getValue("url");
    String user=pr.getValue("user");
    String pwd=pr.getValue("pwd");
    Class.forName(DRIVER);
    conn = DriverManager.getConnection(url,user,pwd);
    }catch(Exception ex){
    ex.printStackTrace();
    }
    return conn;
    }