无法运行程序CreateProcess error=206,文件名或扩展名太长

问题描述 投票:0回答:6

当我在 pom 文件中使用 jvmarguments 时,出现标题错误。我使用 mvnw 命令和以下插件来启用调试。如果我删除 jvm 参数,它就可以工作。但我想用 mvnw 命令启用远程调试

代码片段:

<plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <mainClass>${start-class}</mainClass>
            <executable>true</executable>
            <fork>true</fork>
            <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments> 
        </configuration>
</plugin>

错误:

*[错误] 未能执行目标 org.springframework.boot:spring-boot-maven-plugin:2.0.7.RELEASE:运行 (default-cli)在项目 dxcgateway 上:无法执行 java:无法运行 程序“C:\Program Files\Java\jdk1.8.0_202\jre in\java.exe”: CreateProcess error=206,文件名或扩展名太长 -> [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException: 未能执行目标 org.springframework.boot:spring-boot-maven-plugin:2.0.7.RELEASE:运行 (default-cli)在项目 dxcg ateway 上:无法执行 java

原因:java.io.IOException:无法运行程序“C:\Program Files\Java\jdk1.8.0_202\jre in\java.exe”:CreateProcess 错误=206, 文件名或扩展名太长 在 java.lang.ProcessBuilder.start (ProcessBuilder.java:1048) 在 org.springframework.boot.loader.tools.RunProcess.run (RunProcess.java:77)

原因:java.io.IOException:无法运行程序“C:\Program Files\Java\jdk1.8.0_202\jre in\java.exe”:CreateProcess 错误=206, 文件名或扩展名太长 在 java.lang.ProcessBuilder.start (ProcessBuilder.java:1048) 在 org.springframework.boot.loader.tools.RunProcess.run (RunProcess.java:77)*

java debugging maven-plugin
6个回答
15
投票

对我来说,我有类似的异常,下面的更改解决了问题

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>false</fork>
            </configuration>
        </plugin>

7
投票

改变

<fork>true</fork>

<fork>false</fork>

7
投票

这是由 Windows 操作系统限制引起的。解决方法:

  1. .m2
    存储库移至
    c:\
  2. settings.xml
    打开
    %MAVEN_HOME%/conf
    并查找
    \<settings>.\<localRepository>
    (如果已注释掉则取消注释)并将其值更改为
    c:/.m2/repository
  3. 保存文件并再次运行构建

6
投票

如果您使用 IntelliJ Idea 平台,只需更改启动配置即可避免使用默认的缩短线

这对我有用。


0
投票

基于 Developer404 的 答案,无需移动 .m2 存储库,只需将其 安装到驱动器即可。这样命令行会更短并且可能会在限制范围内。 (不是理想的解决方案,但它可以与 Spring Boot 3 配合使用)

subst M: C:\Users\Javier\.m2\repository mvn -Dmaven.repo.local=M:\ spring-boot:run
    

-2
投票
我使用了下面的命令并且它有效。 mvnw -Dmaven.repo.local=C:/mavenRepo

© www.soinside.com 2019 - 2024. All rights reserved.