当我在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中。)
查看日志,这似乎是您的问题:
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.
无论如何你可以截断密码大小?否则,增加'密码'列大小应该可以解决问题。
尝试将您的jdk版本恢复为1.7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
安装后转到:文件 - >项目结构 - > SDK位置 - > JDK位置
让位置指向根目录(IE上面的那个带有javaw的bin)