Java相对路径在具有相同代码的不同项目中的工作方式不同

时间:2011-04-15 22:40:30

标签: java windows maven maven-plugin

我不确定这是Windows问题还是java问题。这是方案

我有一个maven项目,它使用maven插件项目来构建一些代码。长话短说,它在根目录C:/中查找文件,因为user.dir给出了错误的结果。

我创建了2个不同的Windows帐户,一个是网络域,另一个是本地帐户。当我使用Windows本地帐户上的插件进行构建时,它的工作非常敏锐。但是,当我在网络帐户上进行构建时,由于user.dir而失败。

Windows域帐户返回

USer dir i s C:\

Windows本地帐户

USer dir i s C:\workspace\...correct path

使用以下代码。

System.out.println("USer dir is" + System.getProperty("user.dir"));

我也尝试在Windows域帐户的同一项目文件夹中添加该代码,并正确找到路径。 (只是创建一个不使用maven或插件项目的测试类)。

有没有人知道任何会破坏user.dir的maven设置或可能的解释是什么?

我查看了文件夹的权限 右键单击文件 - >属性 - >安全 - > (不得不以用户身份创建自己) - >权限。
在继承的列中,标记为,而其他帐户继承自C:/ drive。

我已将自己设为管理员并允许自己获得完全权限。我不知道它的Windows,Java或Maven是否引起了这个问题,并且非常感谢任何建议,指针,任何事情: - )

1 个答案:

答案 0 :(得分:0)

这很可能是你启动maven的方式的错误。

您可以尝试使用

启动maven
mvn -Duser.dir=thecorrectpath

手动设置user.dir。