Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CreateProcess error=206,运行main()方法时文件名或扩展名太长_Java_Eclipse - Fatal编程技术网

Java CreateProcess error=206,运行main()方法时文件名或扩展名太长

Java CreateProcess error=206,运行main()方法时文件名或扩展名太长,java,eclipse,Java,Eclipse,我在eclipse helios中有一个错误: 执行命令行时发生异常。 无法运行程序“C:\program Files(x86)\Java\jre6\bin\javaw.exe”(在目录“C:\Users\motiver\helios\u workspace\TimeTracker”中):CreateProcess error=206,文件名或扩展名太长 我做了一些研究,但大多数问题都与使用Google App Engine时的DataNucleus有关。但我没有使用任何与谷歌应用程序引擎远程相

我在eclipse helios中有一个错误:

执行命令行时发生异常。 无法运行程序“C:\program Files(x86)\Java\jre6\bin\javaw.exe”(在目录“C:\Users\motiver\helios\u workspace\TimeTracker”中):CreateProcess error=206,文件名或扩展名太长

我做了一些研究,但大多数问题都与使用Google App Engine时的DataNucleus有关。但我没有使用任何与谷歌应用程序引擎远程相关的东西。我正在JBoss6上使用Servlet3.0做一个小项目。我正在使用Hibernate4.1.2进行ORM和RESTEasy以公开web服务。我创建了一个util文件,它有一个main()方法,基本上可以删除并重新创建模式。当我需要一个干净的数据库进行测试时,我会运行main()方法。它在Tomcat7上运行得很好,但在我转到JBoss6时就停止了工作

任何提示或解决方案都将不胜感激。

对于这个问题,没有简单的解决方案(如几次单击或一个简单的命令)

引用中的一些答案,这些是解决方法。选择对你来说最不痛苦的一个:

  • 减少类路径
  • 使用目录而不是jar文件
  • 使用包含所有其他jar的打包jar文件,使用清单文件中的classpath变量指向其他jar
  • 使用从配置文件读取类路径的特殊类装入器
  • 尝试使用bug报告文档中附带的补丁之一
  • 使用自己的包装,例如ant
更新:2014年7月之后,有了更好的方法(感谢:


如果您创建了自己的构建文件,而不是使用
Project->Generate Javadocs
,那么您可以添加
useexternalfile=“yes”
到Javadoc任务,该任务是专门为解决这个问题而设计的。

在这里回答我自己的问题,这样解决方案就不会被隐藏在注释中。我从eclipse中将该项目导出为可运行的jar,并使用命令行“java-jar MyJar.jar”而且它工作得非常好

请尝试更新您的Eclipse版本,该问题最近(2013-03-12)已解决。请查看错误报告

由于DataNucleus有时会用许多路径覆盖参数而发生这种情况

您必须用以下内容覆盖它们:

-增强名称ASM-api JDO-pu MediaToGo


希望能帮助您!

此线程中的有效答案是针对我的特殊情况的正确答案。 为datanucleus指定ORM文件夹路径,以减少java路径编译


如果您创建自己的构建文件而不是使用
Project->Generate Javadocs
,您可以将
useexternalfile=“yes”
添加到
javadoc
任务中,该任务是专门为解决此问题而设计的。

在bug报告中,它被认为是已修复的,但最近我在Eclipse Kepler 4.3.2中遇到了这种情况

请下载Eclipse Juno或更新版本的修补程序:

  • 下载后备份现有的 eclipse/plugins/org.eclipse.jdt.launching_3.*.jar
  • 将补丁中的类复制并粘贴到org.eclipse.jdt.JAR (替换现有文件)
  • 重新启动Eclipse

  • 我在调用Maven时遇到了相同的错误

    我的问题的根本原因是
    类路径非常庞大。更新类路径修复了问题


    有多种方法可以更新大类路径,如本文所述:

  • 使用通配符
  • 参数文件
  • 开槽罐

  • 因为我使用的是Intellij,所以它们提供了使用我使用的参数文件的选项。

    我在运行“ant deploy时遇到以下错误

    Cannot run program "C:\java\jdk1.8.0_45\bin\java.exe": CreateProcess error=206, The filename or extension is too long
    
    通过在它之前运行“ant clean”来修复它。

    尝试以下操作:

    java-jar-Dserver.port=8080 build/libs/APP\u NAME\u HERE.jar


    我在android studio中也遇到了同样的错误。我可以通过在IDE中运行Build->Clean Project来解决这个问题。

    这是因为您的项目目录名很长,这给了您一个非常长的
    类路径
    。或者您需要减少在
    类路径
    (确保只删除不必要的JAR)或者最好的方法是减少项目目录并再次导入项目。这将减少
    类路径。
    
    它对我很有效。

    我今天面对这个问题,我能够用

    它是

    如果您和我一样不知道Gradle是什么,但需要运行后端来完成前端工作,那么您需要做的是找到启动BE服务器所调用的build.Gradle文件,并将其添加到顶部:

    plugins {
      id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
    }
    

    我也遇到了同样的问题,但我使用的是netbeans。
    我找到了一个解决方案,所以我在这里分享,因为我在任何地方都找不到,所以如果您在netbeans上遇到此问题,请尝试以下方法:
    (由于我的netbeans是葡萄牙语,名称可能已关闭)
    右键单击“项目>属性>生成>编译>取消选中“在外部VM上运行编译”。

    我遇到了相同的错误。尝试了清理、重建、失效缓存、重新启动等解决方案,但没有任何效果


    我刚刚用短名称创建了一个新文件夹,并复制了所有文件(应用程序文件夹、gradle文件等)在新文件夹中。在android studio中打开的应用程序及其工作正常。

    问题很老,但仍然有效。每当新成员加入我的团队或在现有代码中添加新代码段时,我经常遇到这种情况。我们遵循的简单解决方法是通过向上移动目录来“减少类路径”

    正如问题所提到的,这并不是eclipse特有的。我在IntelliJ Idea 14和2018中也遇到了这个问题

    经过长时间的研究,我发现解决办法是设置

    fork=false

    在ant构建文件的javc中

    <javac destdir="${build.dir}" fork="false" debug="on">
        <classpath .../>
        <src ... />
        <patternset ... />
    </javac>
    
    
    
    这就是我的ant build javac现在的样子
    <localRepository>C:\R</localRepository>
    
    <settings>
      <localRepository>c:/.m2/repository</localRepository>
    </settings>
    
    <settings>
          xmlns="yourcontent"
          xmlns:xsi="yourcontent"
          xsi:schemaLocation="yourcontent.xsd">
      <localRepository>c:/.m2/repository</localRepository>
    </settings>
    
    #The system java version is 1.7.131
    $ java -version
    java version "1.7.0_131"
    
    plugins {
    `id "com.github.ManifestClasspath" version "0.1.0-RELEASE"       
    }
    
    plugins {
      id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
    }
    apply plugin: 'application'
    application {
        mainClassName = "com.xxx.MainClass"
    }
    
    plugins {
      id "com.github.ManifestClasspath" version "0.1.0-RELEASE"
    }
    
    buildscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"
        }
      }
      dependencies {
        classpath "gradle.plugin.com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE"
      }
    }
    
    apply plugin: "com.github.ManifestClasspath"
    
    apply plugin: 'application'
    
    task pathingJar(type: Jar) {
        dependsOn configurations.runtime
        appendix = 'pathing'
    
        doFirst {
            manifest {
                attributes "Class-Path": configurations.runtimeClasspath.files.collect { it.getName() }.join(' ')
            }
        }
    }
    
    task copyToLib(type: Copy) {
        into "$buildDir/libs"
        from configurations.runtime
    }
    
    bootRun {
        systemProperties = System.properties
        //This below line is for if you have different profiles prod, dev etc...
        //systemProperty 'spring.profiles.active', 'dev'
        jvmArgs('-Djava.util.logging.config.file=none')
        mainClassName = "com.xxxx.Main"
        dependsOn pathingJar
        dependsOn copyToLib
        doFirst {
            classpath = files("$buildDir/classes/java/main", "$buildDir/resources/main", pathingJar.archivePath)
        }
    }
    
    plugins {
      id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
    }
    
    plugins {
      id "com.github.ManifestClasspath" version "0.1.0-RELEASE"
    }
    
    <component name="PropertiesComponent">
     
    ...
         <property name="dynamic.classpath" value="true"/>
     
    ...
     
    </component>