当我在CentOS 7终端中键入gradle bootRun --stacktrace --debug
以使用gradle启动this sample spring boot app时,我收到以下错误。
Caused by: org.gradle.process.internal.ExecException:
Process 'command '/opt/jdk1.8.0_45/bin/java'' finished with
non-zero exit value 1
我搜索了这个错误并阅读了其他相似但不重复的SO帖子。例如,这是在CentOS 7中的eclipse和一个Web应用程序。这不是Android应用程序等。此外,其他帖子中给出的命令尚未解决此问题。
重现此问题所需的所有代码都在上面的github链接中,所有用于诊断问题的日志都在下面的OP中。 如何解决此错误,以便我gradle bootRun
能够成功启动示例应用?
逐步重现问题:
我导航到/home/user/workspaces/
并输入git clone https://github.com/jrodenbostel/beyond-the-examples
然后我导航到cd /home/user/workspaces/beyond-the-examples/part-5
并输入gradle bootRun --stacktrace --debug
,结果为the stack trace and logs that you can read by clicking on this link to a file sharing site.(日志太长,无法包含在此OP中。)
答案 0 :(得分:2)
查看日志,这似乎是您的问题:
nested exception is org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [inser t into users (username, password, enabled) values (?,?,?)]; Data truncation:
Data too long for column 'password' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1.
无论如何你可以截断密码大小?否则,增加“密码”列大小应该可以解决问题。
答案 1 :(得分:1)
这是我原来的错误消息:
将窗口环境变量中的%JAVA_HOME%
从Java 9(文件目录C:\Program Files\Java\jdk-9.0.1
)更改为Java 8(C:\Program Files\Java\jdk1.8.0_151
)是我修复它的原因。您可以通过在命令提示符中键入echo %JAVA_HOME%
来确定将%JAVA_HOME%设置为的路径。
所以,截至2017年12月20日,gradle bootRun
与Java 9不能很好地配合。希望很快就会修复,我可以删除这个答案。
答案 2 :(得分:-1)
尝试将您的jdk版本恢复为1.7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
安装后转到: 档案 - >项目结构 - > SDK位置 - > JDK位置
让位置指向根目录(IE是带有javaw的bin上面的那个)