Grails 2.1.0 / Java 7 从哪里获取 Windows 8.1 上的当前用户名?

Posted

技术标签:

【中文标题】Grails 2.1.0 / Java 7 从哪里获取 Windows 8.1 上的当前用户名?【英文标题】:Where does Grails 2.1.0 / Java 7 get the current user name from on Windows 8.1? 【发布时间】:2015-02-06 06:37:16 【问题描述】:

我需要使用 Grails 2.1.0(特别是那个版本)并通过将它解压到“C:\Users\new.username\grails\grails-2.1.0\ grails-2.1.0" 不幸的是,当我运行 grails 时,出现如下错误:

C:\>grails
Caching deactivated: failed to create cache directory: C:\Users\old.username\.grails

Exception: java.lang.RuntimeException thrown from the UncaughtExceptionHandler in thread "main"

这似乎表明 Grails 或 Java 正在获取创建 Windows 时使用的旧用户名,我需要知道这是从哪里获得的以及如何将其更改为我当前的用户“new.username”?

我查看了注册表并删除了我敢于删除其中包含 old.username 的所有内容,但我害怕删除所有内容...

有什么想法吗?

【问题讨论】:

【参考方案1】:

它在环境中可用,您可以通过System.getenv() 访问这些值。当我刚才在 Windows 机器上尝试时,HOMEPATH 和 USERPROFILE 都指向我的主目录,并且我的用户名显示在 USERPROFILE、LOCALAPPDATA、USERNAME 和 APPDATA 中。

我建议用火烧毁仪式并购买一台基于 Linux 的笔记本电脑,但不是按照这个顺序。

【讨论】:

我检查了我的完整环境,并没有提到任何“old.username”。特别是 HOMEPATH、LOCALAPPDATA、APPDATA、USERNAME 和 USERPROFILE 都指“new.username”。感谢您的回复, @Boo 它可能在您的 $PATH 中(或任何 Windows 使用的),以便错误的 grails.bat 被拾取并推断出旧位置?我会在 unix 上使用 which grails... 不知道关于 windows 的情况 @cfrick:这不是我的 PATH 变量,我已将我的完整环境粘贴到编辑器中并搜索 old.username,但它未在环境中使用。我相信它一定被 Java 藏在某个地方,但我不知道它可能在哪里......

以上是关于Grails 2.1.0 / Java 7 从哪里获取 Windows 8.1 上的当前用户名?的主要内容,如果未能解决你的问题,请参考以下文章

Grails 1.3.7 - build.xml 在哪里?

Grails 1.3.7 / Java 7 兼容性

我在哪里可以下载 Grails 2.1.4?

Grails 2.1.0 是不是需要 Groovy 1.8?

如何在 Grails 应用程序和 Java 应用程序之间共享 Spring Security 类?

在哪里放置,以及如何访问 Grails 应用程序中的 jQuery 插件?