再eclipse使用的时候我在STRUTS结构的ACTION里写
File f =new File("2.txt");
try{
f.createNewFile();}catch(Exception e)
{}
System.out.println(f.getAbsolutePath());
这样一段代码输出路径是D:\eclipse3.0\workspace\2.txt
可为什么同一个工程下我在测试的application类里写同样的一段代码为什么输出路径是
D:\eclipse3.0\workspace\ttttt\2.txt 这是说同一工程下的虚拟路径都不一样吗?如何才能
通过配置eclipse让这两个的输出路径一样.我想要的路径是D:\eclipse3.0\workspace\ttttt\2.txt

解决方案 »

  1.   

    也不是生成在当前路径下了呀ACTION在D:\eclipse3.0\workspace\ttttt\WEB-INF\src\ttttt\ccure\action在这个路径下,在这个包下的所有的类里写出来的(不包含主函数的类)就生成到D:\eclipse3.0\workspace\2.txt这个路径下,而在包含主函数的类里写同样的代码就会生成到D:\eclipse3.0\workspace\ttttt\2.txt  为什么路径会不同????
      

  2.   

    Java 虚拟机启动的时候会指定“当前路径”(可以通过 -Duser.dir 来修改)。这个“当前路径”跟 Eclipse 的 project 没有必然关系,而跟你运行哪个程序、以什么方式运行有关系。你写在 Action 里的代码,显然是在一个 web application 里执行的,大概是通过 Tomcat 加载的吧?估计你的 Eclipse 加载 Tomcat 的时候给虚拟机设置的“当前路径”就是 D:\eclipse3.0\workspace;而你运行一个 application 的时候,一般来说,Eclipse 给虚拟机指定的“当前路径”就是 .project 所在的路径,也就是 D:\eclipse3.0\workspace\ttttt 了。
      

  3.   

    能不能吧"Duser.dir 来修改"着说的详细点呀???谢谢了
      

  4.   

    能不能通过ECLIPSE的配置来改变ECLIPSE给虚拟机的当前路径?
      

  5.   

    如果是 Java Application 的话,你启动程序不是要通过 Run Configuration 或者 Debug Configuration 吗?在那个 Configuration 里有一个页片“Arguments”,里面有“VM arguments”,写上“-Duser.dir=.....”就行了。如果是 Web Application,那就要看你是用什么插件加载 Tomcat 的了,一般这个插件都会有相应的配置选项。
      

  6.   

    我用的是ECLIPSE3.1,我要是想改TOMCAT的话,配置选项是什么呀?是该ECLIPSE里的属性吗?