Can';t使用Java 11运行Grails 4.0.1 cli-stacktrace中出现获取空指针错误
我无法运行grails4.0.1命令行来创建新的应用程序等 我的环境:Can';t使用Java 11运行Grails 4.0.1 cli-stacktrace中出现获取空指针错误,grails,nullpointerexception,command-line-interface,Grails,Nullpointerexception,Command Line Interface,我无法运行grails4.0.1命令行来创建新的应用程序等 我的环境: 视窗10 Java 11.0.5 JDK Grails4.0.1 Groovy v3.0.0-rc-1 JAVA_主页集(D:\Program Files\JAVA\jdk-11.0.5) GRAILS\u主集(D:\dev binaries\GRAILS\GRAILS-4.0.1) GROOVY\u主集(D:\dev binaries\GROOVY\GROOVY-3.0.0-rc-1) 当我启动命令行并尝试启动grai
- 视窗10
- Java 11.0.5 JDK
- Grails4.0.1
- Groovy v3.0.0-rc-1
- JAVA_主页集(D:\Program Files\JAVA\jdk-11.0.5)
- GRAILS\u主集(D:\dev binaries\GRAILS\GRAILS-4.0.1)
- GROOVY\u主集(D:\dev binaries\GROOVY\GROOVY-3.0.0-rc-1)
| Grails Version: 4.0.1
| JVM Version: 11.0.5
我如何解决这个问题?如果可以避免的话,我宁愿不必恢复所有版本。在升级到Grails 4.0.3时,我们遇到了类似的问题 我们的问题是,我们的开发人员使用Windows,而Windows 64位的相应二进制文件似乎不可用 我们将
webdriverBinaries
部分修改如下:
webdriverBinaries {
chromedriver {
version = '79.0.3945.36'
if (Environment.current == Environment.DEVELOPMENT || Environment.current == Environment.TEST) {
architecture = 'X86'
} else {
architecture = 'X86_64'
}
}
geckodriver '0.24.0'
}
只需浏览一下代码库,这里的“``String profileName=applicationConfig.get(BuildSettings.PROFILE)?:getSetting(BuildSettings.PROFILE,String,DEFAULT\u PROFILE\u NAME)this.PROFILE=profileRepository.getprofilename(profileName)``看起来profileRepository可能为空-因此调用getProfile()生成NPE。profileRepository是一个声明的本地变量,但设置了任何初始值,因此当试图在其他地方设置此值时,某些操作失败。我正在使用java 11,并收到关于org.codehaus.groovy.vmplugin.v7.Java7$1非法反射访问的警告。不确定它是否因为此故障而失败?我现在没有在Windows上测试的设置,但在macOs上我无法重现此问题。突出的一点是,您正在使用Groovy 3.0.0-rc-1。在使用Groovy 2.5.6时,您是否看到了相同的行为?如果您可以隔离导致问题的项目组合,请在报告问题,我们可以对此进行调查。感谢您的反馈。一个有用的数据点是,如果您在创建项目时创建了应用程序,然后在创建的项目中使用grailsw和gradlew包装器,那么您是否也能完成这些工作,或者在那里遇到错误?嗨,jeff-很抱歉,耽搁了整整一周。我刚刚使用gradle包装器尝试了grails启动时启动的项目。它也无法生成,错误为
失败:生成失败,出现异常。*错误:任务的执行失败:configureChromeDriverBinary'>com.github.erdi.gradle.webdriver.repository.driverRurlNotFoundException:未找到名称为“chromedriver”、版本为“2.45.0”、平台为“windows”、位为“64”的驱动程序url
webdriverBinaries {
chromedriver {
version = '79.0.3945.36'
if (Environment.current == Environment.DEVELOPMENT || Environment.current == Environment.TEST) {
architecture = 'X86'
} else {
architecture = 'X86_64'
}
}
geckodriver '0.24.0'
}