【发布时间】:2019-11-30 18:18:17
【问题描述】:
我无法运行 grails 4.0.1 命令行来创建新应用等
我的环境:
- Windows 10
- Java 11.0.5 JDK
- Grails 4.0.1
Groovy v3.0.0-rc-1
JAVA_HOME 设置(D:\Program Files\Java\jdk-11.0.5)
- GRAILS_HOME 设置 (D:\dev-binaries\grails\grails-4.0.1)
- GROOVY_HOME 设置(D:\dev-binaries\groovy\groovy-3.0.0-rc-1)
当我启动命令行并尝试启动 grails shell 时,我得到了(忽略 Java 11 反射警告)
| Error Error occurred running Grails CLI: null (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
java.lang.NullPointerException
at org.grails.cli.GrailsCli.initializeProfile(GrailsCli.groovy:515)
at org.grails.cli.GrailsCli.initializeApplication(GrailsCli.groovy:306)
at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:269)
at org.grails.cli.GrailsCli.main(GrailsCli.groovy:159)
| Error Error occurred running Grails CLI: null
所以现在我被卡住了 - 我无法使用 grails shell,也无法运行“create-app”脚本
grails -version 似乎只工作并在命令行上报告这个
| Grails Version: 4.0.1
| JVM Version: 11.0.5
我该如何解决这个问题?如果可以避免,我宁愿不必还原所有版本。
【问题讨论】:
-
刚刚查看了代码库及其此处 ``` String profileName = applicationConfig.get(BuildSettings.PROFILE) ?: getSetting(BuildSettings.PROFILE, String, DEFAULT_PROFILE_NAME) this.profile = profileRepository.getProfile( profileName)```
-
看起来 profileRepository 可能为 null - 因此调用 getProfile () 会生成 NPE。 profileRepository 是一个声明的本地变量,但设置了任何初始值,所以当它试图在其他地方设置这个值时会失败。我正在使用 java 11 并收到有关
Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1的警告,不确定它是否因为此故障而失败? -
我现在没有设置在 Windows 上进行测试,但在 macOS 上我无法重现该问题。突出的一件事是您使用的是 Groovy 3.0.0-rc-1。您在使用 Groovy 2.5.6 时是否看到相同的行为?如果您可以隔离导致问题的项目组合,请通过github.com/grails/grails-core/issues 报告问题,我们可以对此进行调查。感谢您的反馈。
-
一个有用的数据点是知道您是否在 start.grails.org 创建应用程序,然后在创建的项目中使用 grailsw 和 gradlew 包装器,这些工作是否有效,或者您是否也出现错误?
-
嗨,杰夫——抱歉,耽搁了一个星期。我刚刚尝试使用 gradle wrapper 从启动 grails 开始的项目。它也无法构建错误
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':configureChromeDriverBinary'. > com.github.erdi.gradle.webdriver.repository.DriverUrlNotFoundException: Driver url not found for name: "chromedriver", version: "2.45.0", platform: "windows", bit: "64"
标签: grails nullpointerexception command-line-interface