JavaC CreateProcess error=206,文件名或扩展名太长

标签 java jenkins ant javac

我尝试编译java代码,但出现错误: 引起原因:java.io.IOException: 无法运行程序“C:\jdk\bin\javac”: CreateProcess error=206,文件名或扩展名太长。

这是我的构建文件的内容:

 <path id="was.runtime">
            <!-- <fileset dir="C:\Users\Administrator\.jenkins\workspace\BUILD2TEST\BUILD2TEST\WebContent\WEB-INF\lib">
                <include name="*.jar"/>
              </fileset> -->          
             <fileset dir="${copy.from.path}/WebContent/WEB-INF/lib">
                <include name="*.jar" />
            </fileset> 
            <fileset dir="${was_home}/lib">
                <include name="**/*.jar" />
            </fileset>
            <fileset dir="${was_home}/plugins">
                <include name="**/*.jar" />
            </fileset>

      </path>
        <property name="was_cp" value="${toString:was.runtime}" />


<javac fork="yes" executable="${java.home}/bin/javac" compiler="javac1.6" includeantruntime="false" encoding="utf-8" srcdir="${workspace}/${project.name}/src" destdir="${workspace}/${project.name}/WebContent/WEB-INF/classes" classpath="${was_cp}">
                </javac>

我想也许我的类路径:${was_cp}太长了。我怎样才能解决这个问题 ?

最佳答案

问题不在于您的类路径太大。就是你正在转换成一根巨大的字符串。只需使用 classpathref 属性即可:

<path id="was.runtime">        
    <fileset dir="${copy.from.path}/WebContent/WEB-INF/lib">
        <include name="*.jar" />
    </fileset> 
    <fileset dir="${was_home}/lib">
        <include name="**/*.jar" />
    </fileset>
    <fileset dir="${was_home}/plugins">
        <include name="**/*.jar" />
    </fileset>
</path>

<javac
    fork="yes"
    executable="${java.home}/bin/javac"
    compiler="javac1.6"
    includeantruntime="false"
    encoding="utf-8"
    srcdir="${workspace}/${project.name}/src"
    destdir="${workspace}/${project.name}/WebContent/WEB-INF/classes"
    classpathref="was.runtime"
/>

关于JavaC CreateProcess error=206,文件名或扩展名太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48163497/

相关文章:

java - 在 iText 中水平对齐段落

java - 我怎么推剧!框架 java 应用程序到 Digital Ocean 液滴中的 Dokku?

java - ant java jar 没有主类

java - BasicDataSource默认使用连接池吗?

Jenkins:由于提交消息而避免构建

Jenkins 和 docker-compose

authentication - 如何在配置为使用 LDAP 作为用户数据库的 Jenkins 上添加外部用户?

ant - 需要使用 ant 在远程服务器中创建一个文件夹

java - 使用 Ant 仅运行特定的 JUnit 测试

java - 相机X : setTargetResolution() does not work on some devices