Java 没有文件名字符限制的Windows可选CLI

Java 没有文件名字符限制的Windows可选CLI,java,windows,maven,cmd,long-filenames,Java,Windows,Maven,Cmd,Long Filenames,尝试在项目上运行mvn clean install-Dfull时返回一个文件名或扩展名过长的错误。我听说您可以在没有限制的Windows上安装替代CLI 有人能带我到哪里安装这个吗?或者我的理解不正确吗 多谢各位 更新:我正在使用Windows 7 64位有一个名为Cygwin的程序,可以让你在Windows中使用许多Linux bash终端,我希望它能帮助你。有一个名为Cygwin的程序,可以让你在Windows中使用许多Linux bash终端,我希望它能对您有所帮助。如果您正在运行刚刚发布

尝试在项目上运行mvn clean install-Dfull时返回一个文件名或扩展名过长的错误。我听说您可以在没有限制的Windows上安装替代CLI

有人能带我到哪里安装这个吗?或者我的理解不正确吗

多谢各位


更新:我正在使用Windows 7 64位

有一个名为
Cygwin
的程序,可以让你在Windows中使用许多Linux bash终端,我希望它能帮助你。

有一个名为
Cygwin
的程序,可以让你在Windows中使用许多Linux bash终端,我希望它能对您有所帮助。

如果您正在运行刚刚发布的Windows 10 v1607,您可以通过注册表或策略全局启用最长(约)32 KB的路径,或者通过清单启用每个应用程序的路径

根据刚刚更新的参考资料:

提示从Windows 10版本1607开始,已从常见的Win32文件和目录函数中删除最大路径限制。但是,您必须选择新的行为

注册表项允许您启用或禁用新的长路径行为。要启用长路径行为,请将注册表项设置为
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled(Type:REG\u DWORD)
。在第一次调用受影响的Win32文件或目录函数(如下列表)后,系统(每个进程)将缓存该键的值。在进程的生存期内,不会重新加载注册表项。为了让系统上的所有应用程序识别密钥的值,可能需要重新启动,因为某些进程可能在设置密钥之前已经启动

注册表项也可以通过组策略在
计算机配置>管理模板>系统>文件系统>启用NTFS长路径中进行控制

您还可以通过清单[…]为每个应用启用新的长路径行为


当然,这在系统(API)级别支持长度大于260个字符的路径。如果应用程序对最大路径长度有自己的假设(例如
wchar_t mypath[\u max_path];
),那么再多的系统级支持也无法神奇地使该特定应用程序使用更长的路径。

如果您恰好运行刚刚发布的Windows 10 v1607,则可以启用最多(约)个路径32 KB长,可以通过注册表或策略全局访问,也可以通过清单访问每个应用程序

根据刚刚更新的参考资料:

提示从Windows 10版本1607开始,已从常见的Win32文件和目录函数中删除最大路径限制。但是,您必须选择新的行为

注册表项允许您启用或禁用新的长路径行为。要启用长路径行为,请将注册表项设置为
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled(Type:REG\u DWORD)
。在第一次调用受影响的Win32文件或目录函数(如下列表)后,系统(每个进程)将缓存该键的值。在进程的生存期内,不会重新加载注册表项。为了让系统上的所有应用程序识别密钥的值,可能需要重新启动,因为某些进程可能在设置密钥之前已经启动

注册表项也可以通过组策略在
计算机配置>管理模板>系统>文件系统>启用NTFS长路径中进行控制

您还可以通过清单[…]为每个应用启用新的长路径行为


当然,这在系统(API)级别支持长度大于260个字符的路径。如果应用程序对最大路径长度有自己的假设(例如
wchar\t mypath[\u max\u path];
),那么再多的系统级支持也无法神奇地使特定应用程序使用更长的路径。

文件名过长是什么意思?那怎么可能呢?@khmarbaise你说的文件名太长是什么意思?那怎么可能呢?@khmarbaise我已经对cmd和cygwin执行了死刑。。。你认为我应该为cygwin安装什么特别的软件包可以帮助你吗?看看这里,我希望它能有所帮助:我已经在cmd和cygwin上执行了。。。您认为我应该为cygwin安装哪些特定的软件包可以提供帮助吗?请看这里,我希望它能提供帮助:不使用windows 10,但+1用于详细解决方案不使用windows 10,但+1用于详细解决方案