首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我不能在Windows上用Java直接执行Cygwin .exe?

在Windows上使用Java直接执行Cygwin .exe是不可行的,原因如下:

  1. Cygwin是一个在Windows上提供类Unix环境的开源项目,它通过模拟Unix系统调用来实现在Windows上运行Unix程序。Cygwin提供了一套动态链接库(.dll)和一些工具,用于将Unix程序转换为Windows可执行文件。因此,Cygwin .exe文件实际上是一个Windows可执行文件,但它依赖于Cygwin环境。
  2. Java是一种跨平台的编程语言,它的运行环境(Java Runtime Environment,JRE)可以在不同的操作系统上运行。然而,Java并不直接支持执行Windows可执行文件,包括Cygwin .exe文件。
  3. Java虚拟机(Java Virtual Machine,JVM)是Java程序的运行环境,它提供了一种独立于操作系统的执行环境。JVM只能执行Java字节码文件(.class文件),而不能直接执行其他类型的可执行文件。

综上所述,由于Java虚拟机的限制和Cygwin .exe文件的特性,无法直接在Windows上使用Java执行Cygwin .exe文件。如果您需要在Java程序中执行Cygwin .exe文件,可以考虑使用Java的ProcessBuilder类或Runtime类来调用系统命令,间接地执行Cygwin .exe文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一次小折腾:PyCharm 调用 Cygwin Python 找不到 time、sys 等内置模块

因此,能想到的就是利用 windows Cygwin 模拟 linux,然后 Pycharm 去调用 Cygwin 下的 Python 即可。...3、如何解决这个问题 由于想到 sys 和 time 都属于内置模块,可能和 python.exe 这个可执行文件有关,于是先 copy 了一个 windows 版的 python.exe 过去试试...但是上面的疑问还是没解决:为什么 time 和 sys 模块找不到居然还能执行成功呢? 第一反应就是找找看 time 在哪里。...然而 Pycharm 中加载 Cygwin 版本解释器虽然报错提示找不到模块,但是真正执行的时候是没有问题的,因为相应的模块都以 .dll 形式提供了,只是 Pycharm 无法直接静态分析该版本的 python.exe...Pycharm 下还是老老实实的 windows 版 Python 吧,Cygwin vim 凑合得了~ Refer: [1] How do I find the location of

4.1K100

记一次在Windows10桌面环境搭建Jekins的吐血经历

踩坑1 shell环境 为了能在Windows环境使用一些Unix/Linux命令,所以需要安装Cygwin,并添加到Windows环境变量Path中:Path=%Path%:C:\cygwin64\bin...然后执行如下命令打包程序:tar czvf xxx.tar.gz xxx,该命令在Cygwin命令行界面执行是没有任何问题的,但是到Jenkin中执行时就会报错: Caused: java.io.IOException...: Cannot run program "sh" 显然,Windows下的shell环境是cmd.exe,而上述打包命令并不能直接运行。...在Linux主机之间传输文件通常通过scp命令实现,于是也想在Windows使用scp来做这个事情。...(2)Gow工具包也默认带有pscp.exe程序:前面我们说过,在Windows环境要执行一些Unix/Linux命令可以通过安装Cygwin来实现,但遗憾的是Cygwin中却不带pscp.exe,而Gow

1.8K10
  • MinGw与Cygwin的区别

    cygwin下编译出来的程序需要cygwin.dll才能在windows下运行,源码拿到linux环境下重新编译就可以在linux下跑起来;mingw环境下编译出来的程序,只能在windows下跑,源码在...所以在Cygwin里开发就相当于在linux开发,对于开发人员来说就相当于调用linux类型的api,所以这样开发的程序也可以直接移植到linux。...但是如果这样的程序要在windows执行的话,运行时必须要cygwin1.dll支持。      ...翻译过来就是 cygwin不是让linux程序能在windows运行的方法,如果你想要让linux程序能在windows运行,那么你只有用cygwin来重新编译一下源文件。...就是说你在linux编译的elf程序不能直接拿到cygwin运行,同样,你cygwin编译的程序也不是linux的elf格式,而是exe格式,exe是无法在linux运行的。

    5.5K30

    OpenJDK8 Windows编译

    以下是的环境信息: 操作系统: Microsoft Windows 7 Professional x64 SP1 安装组件: 1、Windows Unix Toolkit>  CYGWIN x64,放在...开启一个Cygwin的bash窗口,进入OpenJDK源码路径(注意,Cygwin中硬盘路径为/cygdrive/盘符/路径),按的配置,则为: cd /cygdrive/e/hub/openjdk...is too old,关注7220行原来是1.7这里根据自己的cygwin版本改成不是1.7以下的判断。...则执行: make images CONF=windows-x86_64-normal-server-fastdebug 如下图: ? 编译耗时可能比较长(的机器30分钟),请耐心等待。...或者使VS链接器生成COFF的方法都可以。 解决方法:   当前系统中存在两个cvtres.exe文件,版本不同。让VS2010使用.NET 4.5的cvtres.exe程序。

    3.7K110

    thrift:在cygwin下编译C library for win32(libc_glib)

    (有空专门写一个thrift c++库的编译过程) 但是要在windows下编译thrift C library,MSVC或MinGW都是无法编译的,也无法借助MSYS2环境编译。...在给cygwin安装相关软件的过程中,发现cygwin提供的软件安装方式用起来比较麻烦,所以建议尽量使用apt-cyg来做安装动作 关于安装cygwin和apt-cyg可以参考这篇文章 《Windows...安装依赖库 有了apt-cyg,安装依赖库和工具就方便多了,在cygwin命令行窗口执行下面的命令就可以完成所有依赖库及工具安装,如果安装过程中提示没有wget或lynx,请执行cygwin的setup-x86.../bootstrap.sh # 生成Makefile # 这里为了缩短编译时间,只编译c_glib库cpp,java,python库都指定编译,并且不编译测试代码和tutorial # CXXFLAGS...遇到了这个问题,就是Makfile在找不到compiler/cpp/thrift,而compiler/cpp/thrift.exe明明是存在的,一直没找到原因,所以我的解决办法就是编译lib/c_glib

    1.4K20

    详解 Windows 下 Eclipse CDT 配置 CC++ 编译环境

    在线安装CDT 也可以在安装完Eclipse后,通过Eclipse的软件更新功能在线安装CDT,具体步骤可以参考Eclipse的在线文档。 ?...直接下载 eclipse CDT 集成版 如果你不想在插件折腾,也可以直接下载 eclipse 官方已经编译好的二进制版 eclipse CDT: http://www.eclipse.org/downloads...Cygwin 是在cygwin1.dll 库基础构建的。Cygwin 的备用解决方案是 Minimalist GNU for Windows(MinGW)(请参阅参考资料以获得链接)。...现在 eclipse CDT 还无法编译执行 C/C++ 程序,因为缺少了重要的部件。这个部件就是C/C++的编译器。在WindowsOS下我们可以选择MinGW(Cygwin 也一样可以)。...4、配置MinGW 因为Eclipse预设用来编译的文件为 make.exe,但是 MinGw 安装后 make 的文件名是mingw32-make.exe 因此需要把 mingw32-make 改名为

    7.3K81

    CygwinWindows下的Linux终端模拟器

    提到 Linux 学习,可能很多童鞋都会说,不是不想学,而是真的没有一个好的 linux 环境:装了 linux 吧,有时又会想回 Windows 玩玩游戏娱乐什么的,搞个双系统吧,又不想折腾!...最著名的的工具是 Cygwin,它是模拟类 UNIX 环境的软件,最初由 Cygnus Solution 公司开发,目的在于通过重新编译将 Linux 系统的软件移植到 Windows 。 ?...或者,你可将 C:/Cygwin/bin 加到%PATH%当中,您就可以直接在 cmd.exe 里面使用 Linux 命令了,比如 less, cat, wc , wget 如果您有一个 Bash 脚本...,您可以直接 C:/Cygwin/bin/bash.exe X:/scripts/Monitor.sh 的形式调用。...使用 wq 保存并退出后, sh 执行刚刚这个简单的打印脚本: ?

    5.2K30

    编译windows版的openJDK攻略

    相信我,哪怕你没有Linux环境,临时装一个ubuntu,加上安装操作系统的时间都比直接Windows下编译来得快。...1.5.2 系统需求   如果可能,笔者建议尽量在Linux或Solaris构建OpenJDK,这要比在Windows平台上轻松许多,而且网上能找到的资料绝大部分都是在Linux编译的。...需要CYGWIN的原因是在编译中要使用GNU Make来执行Makefile文件(C/C++程序员肯定很熟悉,如果只使用Java,那把这个东西当做C++版本的ANT看待就可以了)。...如果不能在英文的系统编译就把系统的文字格式调整为“英语(美国)”,在控制面板-区域和语言选项的第一个页签中可以设置。...执行一下“java -version”,看到以自己机器命名的JDK了吧,很有成就感吧?

    5.9K30

    cocos2d 在windows环境下搭建

    和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用...,默认是你运行setup.exe的目录,直接点下一步就可以: 6、此时你共有三种连接方式选择:      1) Direct Connection:直接连接。     ...UtralEdit打开的,用它打开的时候,千万不要转换其格式了噢) 2、设置环境变量路径: set _CYGBIN=C:\cygwin\bin(这是的路径,请设置成自己对应的安装路径) set...结果在mac的win7下出现各种问题,费劲各种奏折,看了n篇文章,反复操作,然后不断的请高手指教,终于是在的mac的win7下vs2010上将其把HelloWorld给跑出来了。...请安装一个程序,或者,如果已安装程序,请在默认程序 解决办法:installWizardForVS2010.js右击,打开方式:C:\Windows\System32下的wscript.exe来打开..

    1.7K70

    git 入门教程之 git bash 竟然不支持 tree 命令

    cygwin 是什么 大量 GNU 和开源工具,提供类似于 Windows 的 Linux 发行版的功能. ?...劝少年放弃吧 你确定不是在逗我?让直接放弃? ? 亲,真的抱歉呢,放弃是解决问题的最快途径! ... 谈一谈为什么要放弃?...快醒醒,你是在 Windows 系统并不是 Linux 系统,哪给你弄这些配置文件去? 脑海中迅速闪现哲学基本问题: 是谁,在那,在干什么?...可执行文件,但是研究了这么多朋友圈关系,足够找到解决方案了. tree 命令的源码文件编译成 tree.exe执行文件比较费劲,但是可以找到已经编译好的文件啊....基于 Cygwin 系统进行扩展,安装完整的操作系统,模拟出 linux 运行环境,在 Windows 也能找到 linux 的感觉.

    2.7K70

    JDK源码编译与版号控制 发布于 20

    深入探索JDK的源码,并尝试自己编译JDK似乎是更有效的了解Java的途径之一。在本章中,将详细介绍在Linux、MacOS和Windows平台上编译JDK17u的过程和遇到的问题。...这使得JDK在Windows平台上的编译操作更加复杂。先安装Cygwin和相应的软件包: 在Cygwin官网下载setup-x86_64.exe程序并双击打开 2..../cygdrive/c可以定位到Windows环境中的C盘目录下(为什么需要boot-jdk会在后面几期中解释) 构建编译环境的过程会花上5分钟左右,当出现如下的提示则说明构建成功(如果之前构建过环境则每次执行的构建方法都会进行覆盖...使用如下的命令来验证这个编译完成的Java的可行性: # 在windows环境中执行 cd C:\cygwin64\home\DioxideCN\jdk17u\build\windows-x86_64-...如果不是作为发布版本或只是作为私用版本,推荐大费周章地去考虑版本修改问题。 参考文献 [1] Oracle. (2021).

    47830

    Cygwin中无法使用dig的一种解决方案

    Windowns下使用dig 在ftp://ftp.nominum.com/pub/isc/bind9/中下载最新BIND的ZIP文件,解压后将以下的库文件和dig.exe拷贝到C:\Windows\System32...dig.exe 如果依然不能在Windows下使用dig的话,可以通过BIND包中的vcredist_x64.exe(64位系统)或者vcredist_x86.exe(32位系统)进行库函数的更新。...Cygwindig 通过在Windows下添加dig之后就可以在Cygwin下使用了,但是如此长的一个路径也是让使用起来有些许困难了: $ /cygdrive/c/windows/system32/...默认就调用/usr/bin下的dig,如果不安装的话应该会直接全局环境搜索命令的。...所以最后一步就是将Windows下的命令关联到/usr/bin下即可: $ ln -s /cygdrive/c/windows/system32/dig /usr/bin/dig 至此Cygwin下dig

    63220

    6款好用的C语言编译器推荐

    二、TurboC TurboC “TurboC/C++v3.0中文版”是为了照顾不熟悉DOS环境软件操作的广大初学者,让大家能在Windows环境下方便地安装和使用中文TurboC/C++3.0,对界面进行了汉化...主要功能 1、为了照顾不熟悉DOS环境软件操作的广大初学者,让大家能在Windows环境下方便地安装TurboC/C++v3.0,本安装程序可以将TurboC/C++v3.0安装在任意指定目录,无需修改...WIN-TC简繁双语版可以正常运行于98及其以上的简体及繁体WINDOWS操作系统 五、Cygwin Cygwin Cygwin是一个用于在Windows模拟Linux环境的软件。...总之如果你想使用某个Linux下的功能,而windows又找不到好的替代品的话,你就可以Cygwin使用的最频繁的是Gcc和Make。经常用它们来编译一些从网上下载的开源的工程。...这些工程在Windows编译往往很麻烦。也用它做过X Server来连接一台真正的Linux服务器,用来测试一个tcl/tk编写的跨平台的用户界面程序。

    12.1K80

    windows电脑平时遇到的问题

    蓝牙消失 解决办法: Windows+x选择设备管理器(现在习惯直接在搜索栏搜索设备管理器) 在“通用串行总线控制器"中找到感叹号设备 禁用后立即关机(不能重启,亲测无效!),再开机,即可得到解决。...这样才能在打开新的页面的时候依然是UTF-8编码格式。...\Cygwin\Versions\2.0.a9.oga.1\i686\grads.exe这个程序为例 注:dos中输入路径时,最好用“”括起来,防止路径中的空格特殊字符等导致命令执行失败 第一种 先进入程序文件夹...\Lenovo>E: E:\>cd "E:\grads\file" E:\grads\file> 更直接的方法 在文件管理器中打开该地址,然后地址栏中输入cmd,并可在该路径下执行对应的命令。...) fn = "mymap.map" mappyfile.save(d, fn) #查看文件 d = mappyfile.open('mymap.map') print(d) 或者不用程序方式查看,直接

    9110

    Linux交叉编译Windows静态库

    是木荣,在开发软件时,很有可能在各种操作系统中使用。因此,以跨平台的方式构建软件以确保与多种操作系统的兼容性非常重要。在本文中,我们将介绍Linux交叉编译Windows的静态库。...unsetunset 静态库是一个包含预编译代码的文件,可以与可执行程序链接以创建单个自包含的可执行文件。静态库中的代码直接链接到可执行文件中,这使得它比动态库更快、更高效。...例如,在 Linux 机器构建 Windows 应用程序。 unsetunset为什么要交叉编译?...-lhello -mwindows 此命令将“main.c”源代码编译为名为“main.exe”的 Windows执行文件。...除了上面概述的步骤之外,在为 Windows 从 Linux 交叉编译静态库时还需要记住一些事项: 平台特定代码− 交叉编译时,请务必记住代码可能在不同的平台上运行。

    30310

    技巧与工具01:Linux工作环境配置

    本篇所有的配置文件都已上传至github: https://github.com/tigerRose/experience.git 可以直接拷贝到个人目录使用. ~/.bashrc 这个是Linux最主要的配置文件之一了..." 这个就是windows系统下使用cygwin环境,调用windows安装的python的方法....,用于交换键盘的按键,比如你某个键坏掉了,可以一个平时 常用的键来交换,土豪可以无视,直接买新的.使用按键交换主要是因为习惯用Vim, 而又常用Esc,不常用Caps Lock,因此交换按键,减少手指运动量...("norm '\"")|else|exe "norm $"|endif|endif set hlsearch 配色方案放在~/.vim/colors 目录 windows环境cygwin环境安装 cygwin...联网的环境,可以先找个联网的机器下载需要的安装目录,然后选择从本地来源安装即可. cygwin.rar是自己使用的一个安装包,包含了vim编辑器,gcc编译器以及python大多数库.

    47820
    领券