Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"The filename or extension is too long error" using gradle

I have recently updated my code and when I tried to run our application using g bootRun in the command line, I encountered this error.

Stack Trace:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':bootRun'.         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)         at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)         at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)         at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)         at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)         at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)         at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)         at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)         at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)         at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)         at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)         at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)         at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)         at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)         at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)         at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)         at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)         at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)         at org.gradle.internal.Factories$1.create(Factories.java:22)         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)         at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)         at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)         at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)         at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)         at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)         at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)         at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)         at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)         at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)         at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)         at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)         at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)         at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)         at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)         at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)         at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)         at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)         at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)         at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)         at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)         at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)         at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)         at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)         at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)         at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)         at org.gradle.launcher.Main.doAction(Main.java:33)         at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)         at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)         at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)         at org.gradle.launcher.GradleMain.main(GradleMain.java:23)         at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)         at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)         at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61) Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:\Java\jdk1.8.0_77\bin\java.exe''         at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:197)         at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:327)         at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)         at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)         at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'C:\Java\jdk1.8.0_77\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:68)         ... 2 more Caused by: java.io.IOException: Cannot run program "C:\Java\jdk1.8.0_77\bin\java.exe" (in directory "D:\Work\FBXX"): CreateProcess  error=206, The filename or extension is too long         at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)         ... 5 more Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is too long         ... 6 more 

Here's the task in gradle:

  bootRun {     if (project.hasProperty('args')) {         args project.args.split('\\s+')     }   } 

We have tried reducing the directory path of our project but we're looking for another solution.

This is the current directory path of our project:

D:\Work\FBXX

like image 532
Loren Avatar asked Oct 14 '16 07:10

Loren


People also ask

How do I fix Createprocess Error 206 The filename or extension is too long?

Reduce the classpath. Use directories instead of jar files. Use a packed jar files which contains all other jars, use the classpath variable inside the manifest file to point to the other jars.

What is extension in gradle?

The Gradle Project has an associated ExtensionContainer object that contains all the settings and properties for the plugins that have been applied to the project. You can provide configuration for your plugin by adding an extension object to this container.

Can Gradle handle a long command line?

Gradle doesn't extensively handle long command line on Windows yet. In the meantime, consider: shortening your access path by either moving your project closer to the disk root (in your case closer to C:) or mounting your project directory to a virtual disk and running Gradle from that virtual disk.

How to fix long too path error?

Long too path error! "Long path tool" is very helpful for this problem. You can solve this problem like copy, delete, long path files by using this tool. I used to have similar problems too, but after using "long path tool" everything was solved.

How long is too long for a filename?

NTFS took us to a point where a filename could be 255 characters long, and the file path length could potentially go up to 32,767 characters. So how can we possibly have filenames that are too long? Windows has things known as system variables.

How do I change the path of a Gradle project?

shortening your access path by either moving your project closer to the disk root (in your case closer to C:) or mounting your project directory to a virtual disk and running Gradle from that virtual disk. If it's a custom task, try putting the command inside a script and executing that script instead.


2 Answers

Just add this plugin ManifestClasspath in your build.gradle file and specify the manifest classpath. ManifestClasspath plugin creates a manifest jar for jar files in the classpath of JavaExec task and sets the classpath with the manifest jar.

plugins {     id 'org.springframework.boot' version '2.1.4.RELEASE'     id 'java'     id "com.github.ManifestClasspath" version "0.1.0-RELEASE"        }  apply plugin: 'io.spring.dependency-management' apply plugin: 'application' mainClassName = 'com.example.demo.Application' dependencies {   } 
like image 118
UDIT JOSHI Avatar answered Sep 22 '22 09:09

UDIT JOSHI


I had similar problem, in my situation this works fine:

 task pathingJar(type: Jar) {       dependsOn configurations.runtime       appendix = 'pathing'        doFirst {          manifest {              attributes "Class-Path": configurations.runtime.files.collect {it.toURL().toString().replaceFirst("file:/", '/')}.join(" ")          }      }  }  bootRun {      dependsOn pathingJar      doFirst {          classpath = files("$buildDir/classes/main", "$buildDir/resources/main", pathingJar.archivePath)      }  } 
like image 42
Javoslaw Avatar answered Sep 23 '22 09:09

Javoslaw