大家好,最近在做一个wicket 页面的单元测试,发现在程序里写的 System.getProperty("catalina.home") 运行良好,返回 c://tomcat 6.0
但是测试中却返回null。
为了确定,我又做了个测试  System.getProperty("java.class.path"),程序运行给出结果
C:\Program Files\Java\Tomcat 6.0\bin\bootstrap.jar 
但在Junit里输出的却是:
D:\Documents and Settings\WHUANG1\workspace\HelloWorld\target\test-classes;D:\Documents and Settings\WHUANG1\workspace\HelloWorld\targe ....等一大堆路径。请问这个为什么呢?
另外在unit test里如何获取tomcat 的路径呢?请大家帮忙看看,谢谢!!!!

解决方案 »

  1.   

    页面测试?可以用
    request.getRealPath(“/");//得到的是项目的绝对路径
    或者在其它地方用
    this.getServletContext().getRealPath("/"); //效果同样
      

  2.   

    哦 Sorry看错了 你要的是Tomcat的路径,我给是项目的绝对路径,我在看一下
      

  3.   

    弄了一个偷懒的方法 哈哈=。=睡觉啦
    String realpath=System.getProperty( "user.dir" );//我这里是得到D:\Tomcat\bin
    realpath=realpath.substring(0,realpath.length()-3);//此时把bin给弄掉了 哈哈 得到D:\Tomcat\
      

  4.   

    前辈,我是在测试的时候想获取tomcat的路径,user.dir应该是获得eclipse 的workspace 路径,tomcat 路径是null我相适应为测试没有在tomcat容器里执行吧,但我不确定。
    对于getServletContext(),我没有用servlet。能再帮我想想么,谢谢了!