我有一个gradle app,一个前员工开发,使用./gradlew从命令行运行完美。但现在我正在尝试在eclipse中调试它,所以我首先尝试在eclipse中运行它。
我安装了Buildship Gradle插件,并创建了一个指定工作目录并传递程序参数的运行配置。无论何时它尝试访问文件系统中的任何内容,当应用程序使用System.getProperty(“user.dir”)时,它使用错误的路径 - 这是默认为我的用户的主目录而不是项目文件夹。
我尝试添加“GRADLE_USER_HOME”类路径变量,但它似乎没有改变任何东西。我也尝试将Gradle User Home(在Preferences - Gradle下)设置为项目文件夹,但这也无济于事。我也尝试将Gradle Distribution从“From Import Settings”更改为“Gradle Wrapper”,但这没有帮助。
任何帮助将不胜感激!
答案 0 :(得分:0)
系统属性user.dir
与Gradle无关,我打赌它也没有在Gradle脚本中设置。系统属性user.dir
是用户启动程序时的当前工作目录。因此,如果您在项目目录中并调用./gradlew run
,则工作目录是您的项目目录。如果你升级一级并调用<project>/gradlew run
,你也会看到不同的行为,例如eclipse。
将运行配置的工作目录设置为项目目录,然后您应该获得正确的行为。也许您应该解决这个问题,以便在项目依赖于项目目录的路径时不使用user.dir
。