java - 在 IntelliJ 中设置 Gradle 任务 `bootrun`

标签 java gradle build.gradle gradle-plugin

我在运行 gradle bootRun

gradle bootRun --args='--spring.profiles.active=local' --stacktrace

我收到了 CreateProcess error=206, The filename or extension is too long exception
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
> Task :bootRun FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':bootRun'.
> A problem occurred starting process 'command 'C:\JDK8\jdk1.8.0_111\bin\java.exe''
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':bootRun'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
        ...
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:\JDK8\jdk1.8.0_111\bin\java.exe''
        at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:231)
        at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:209)
        at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:355)
        at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:85)
        at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42)
        ... 3 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'C:\JDK8\jdk1.8.0_111\bin\java.exe'
        at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
        at net.rubygrapefruit.platform.internal.WindowsProcessLauncher.start(WindowsProcessLauncher.java:22)
        at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
        at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:67)
        ... 4 more
Caused by: java.io.IOException: Cannot run program "C:\JDK8\jdk1.8.0_111\bin\java.exe" (in directory "C:\Users\E080978\git\order-management-api"): CreateProcess error=206, The filename or extension is too long
        at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
        ... 7 more
Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is too long
        ... 8 more

我的配置:
- Gradle 版本:4.9
- JDK 版本:jdk1.8.0_111
- 视窗 10

最佳答案

由于您在 Windows 上使用 Gradle,如果您的类路径中有大量依赖项,您可能会遇到此错误。这是由于执行命令中的字符数限制所致。
从另一个 thread 尝试此解决方案:

plugins {
    id "com.github.ManifestClasspath" version "0.1.0-RELEASE"       
}

apply plugin: "com.github.ManifestClasspath"

springBoot {
    mainClassName = 'com.pb.ngp.identity.manager.KeyManagerApplication'
}

您可能会遇到以下错误:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':bootRun'.

Caused by: org.gradle.api.InvalidUserDataException: Main class name has not been configured and it could not be resolved

然后只需指定主类。例如
springBoot {
    mainClassName = 'com.example.SpringBootApplication'
}

关于java - 在 IntelliJ 中设置 Gradle 任务 `bootrun`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61057662/

相关文章:

java - 带有 Jersey 的 Web 服务仅返回 404

selenium - 如何修复 docker 容器中的 "org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed"

android - flutter 运行未完成

android - Auth0 gradle 依赖错误

java - java加载图片函数的速度

java - java中没有这样的方法错误

android - list 合并失败依赖 com.google.firebase :firebase-analytics:17. 2.2

gitlab - 为什么 gitlab-ci.yml 不识别 sonarqube -Dsonar 命令?

gradle - 依赖项冲突的Gradle Shadow Jar

java - java中的自定义表格单元格编辑器,列数据类型为Float