CreateProcess error=206, The filename or extension is too long"的一个解决方案
<dependency>
<groupId>com.google.javascript</groupId>
<artifactId>closure-compiler</artifactId>
<version>v20160315</version>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="closure.compiler.class.name"
value="com.google.javascript.jscomp.CommandLineRunner" />
<echo message="Generate main.min.js" />
<java classname="${closure.compiler.class.name}"
classpathref="maven.compile.classpath" fork="true" failonerror="true">
<arg value="--js"/>
<arg value="${basedir}/src/main/webapp/js/main.js"/>
<arg value="--js_output_file"/>
<arg value="${basedir}/src/main/webapp/js/main.min.js" />
<arg value="--compilation_level"/>
<arg value="SIMPLE_OPTIMIZATIONS"/>
</java>
</target>
</configuration>
</execution>
</executions>
</plugin>
然后运行发现报错。CreateProcess error=206, ÎļþÃû»ò)չÃû 然后后面有一堆乱码,然后经过stackoverflow查找之后 发现后面乱码大概是“CreateProcess error=206, The filename or extension is too long”
“在Windows下命令行支持的字符串长度是有限制的,在计算机上运行 Microsoft Windows XP 或更高版本,可以在命令提示符下使用的字符串的最大的长度 8191 个字符。 在运行 Microsoft Windows 2000 或 Windows NT 4.0 的计算机上, 将最大长度可以在命令提示符下使用的字符串的为 2047 个字符。”
我也弄不明白为啥我的antrun命令过长,上面的arg参数那么少。然后我使用 mvn package –X 打印详细信息。发现有个classpathref=”maven.compile.classpath”回去打印所有lib所有jar包来运行命令。
而不是指定closure-complie这个jar包运行。
在maven中知道可以直接指定maven 依赖的closure-complie.jar包,参照如下地址:
http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html
所以修改上面pom.xml代码:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="closure.compiler.class.name"value="com.google.javascript.jscomp.CommandLineRunner" />
<echo message="Generate main.min.js" />
<path id="maven.lib.dep" path="${com.google.javascript:closure-compiler:jar}"/>
<java classname="${closure.compiler.class.name}"
classpathref="maven.lib.dep" fork="true" failonerror="true">
<arg value="--js"/>
<arg value="${basedir}/src/main/webapp/js/main.js"/>
<arg value="--js_output_file"/>
<arg value="${basedir}/src/main/webapp/js/main.min.js" />
<arg value="--compilation_level"/>
<arg value="SIMPLE_OPTIMIZATIONS"/>
</java>
</target>
</configuration>
</execution>
</executions>
</plugin>
指定classpathref参数
CreateProcess error=206, The filename or extension is too long"的一个解决方案的更多相关文章
- 修复Gradle CreateProcess error=206
插件地址:https://plugins.gradle.org/plugin/ua.eshepelyuk.ManifestClasspath 修复Window系统中Gradle 路径太长问题, Fix ...
- windows下eclipse跑junit报错:CreateProcess error=206
from:http://isuifengfei.iteye.com/blog/1684262 windows下,eclipse中运行junit出现错误提示: Exception occurred ex ...
- 关于eclipse运行TestNG出现: CreateProcess error=206, ÎļþÃû»ò)չÃû的解决办法
最近玩物流宝的一个项目,需要测试下3个系统打通的接口. 不测不要紧,一测吓一跳.我的乖乖:几百个bean被加进来.就凭我这肉机,内存不爆才怪. 于是换一套方案,用了另一个测试接口. 但是这个测试接口, ...
- "CreateProcess error=206, 文件名或扩展名太长。",用gradle构建项目创建mapper文件时提示这个错误,是Windows Gradle长类路径问题,官方已经修复
用gradle构建项目mapper文件时,提示这个错误,这个是Windows Gradle长类路径问题, gradle官方已经解决了这个问题. 官网给出的解决方法地址:https://plugins. ...
- CreateProcess error=206, 文件名或扩展名太长。
改:
- Jenkins报错Caused: java.io.IOException: Cannot run program "sh" (in directory "D:\Jenkins\Jenkins_home\workspace\jmeter_test"): CreateProcess error=2, 系统找不到指定的文件。
想在本地执行我的python文件,我本地搭建了一个Jenkins,使用了execute shell来运行我的脚本,发现报错 [jmeter_test] $ sh -xe D:\tomcat\apach ...
- Android Studio Error:CreateProcess error=216
Error:CreateProcess error=216, This version of %1 is not compatible with the version of Windows you' ...
- Cannot load supported formats: Cannot run program "svn": CreateProcess error=2
svn CreateProcess error=2, 系统找不到指定的文件 IntelliJ IDEA 13.1.2安装后,SVN checkout时候会出现如下错误: Cannot load sup ...
- Github上LeakCanary编译报错CreateProcess error=2的解决方法
现象说明: 从github上拉下LeakCanary编译时报错 CreateProcess error=2, ϵͳÕҲ»µ½ָ¶ 原因分析: 该现象是由于Windows中Gradle调用命令未加cmd ...
随机推荐
- SQL创建链接服务器
二.--创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址' exec sp_addlinkedsrvlogin ...
- Volley HTTP库系列教程(1)简介及优点
Transmitting Network Data Using Volley Get started Dependencies and prerequisites Android 1.6 (API ...
- MTK Android 编译命令
一.Target 编译命令 usage: (makeMtk|mk) [options] project actions [moudles] options: -t,-tcc ...
- Codeforces Beta Round #97 (Div. 1)
B 判矩阵的时候 出了点错 根据点积判垂直 叉积判平行 面积不能为0 #include <iostream> #include<cstdio> #include<cstr ...
- many to one could not resolve property
今天在做一个功能的时候 遇到了.一个Could not resolve property 的问题. 配置文件如下: <many-to-one name="user" cla ...
- website project team member 角色及开发过程概念图
一个web项目的团队往往具有以下角色的人员组成: project stakeholder(client or business owner)产品经理 Project manager 项目经理 prod ...
- bzoj4518
好久没写题解了…… 一开始脑抽,还以为平均数会随着划分的改变而改变(无可救药……) 这题还是比较水的,展开方差的式子分成m部分每部分路程为xi,平均数p 方差=∑(xi-p)/m=∑(xi^2-2xi ...
- memcached内存管理及key value长度限制
1)什么是内存碎片?内存是大小有限的资源.例如把内存比作一张小床,来了一个小伙伴,可以睡下,再来一个小伙伴也能睡下.现在两个人了,他们点了差不多的大小的位置(资源),位置还有剩下.然后再来一个小胖子, ...
- 【自动化测试】Selenium的智能等待
dr.implicitly_wait(30) --- 智能等待 http://www.cnblogs.com/fnng/p/3214112.html =========== selenium 调用键盘 ...
- 《Unix网络编程》卷2 读书笔记 第1章-简介
1. 概述 2. 进程.线程与信息共享 Unix进程间的信息共享有多种方式:注意下图中内核的位置 左边的两个进程共享存留于文件系统中某个文件上的某些信息.为访问这些信息,每个进程都得穿越内核. 中 ...