我的 Java 开发是在 Windows 机器上完成的,我在 centos 机器上运行我的进程。 我有一个 bash 脚本,可以构建我所有的 Jar 并将它们 SCP 到我的 centos 机器上。我在 Cygwin 中运行此 bash 脚本(java 版本为 1.5.0_12),但是当我尝试在我的 centos 机器中运行该进程时,jVM 无法打开 Jars。另外,运行 jar -tf 抛出:
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:75)
at sun.tools.jar.Main.list(Main.java:979)
at sun.tools.jar.Main.run(Main.java:224)
at sun.tools.jar.Main.main(Main.java:1149)
所以我可以部署的唯一方法是在 cmd.exe 中运行 mvn 命令以构建我的 jar,然后使用 WinSCP 复制所有内容(这样我在 jars 中就没有问题)。
在 cygwin 中运行 mvn 是否有任何已知问题? (运行 mvn -version 返回 Apache Maven 2.2.1 (r801777; 2009-08-06 22:16:01+0300) Java版本:1.6.0_26)
谢谢
最佳答案
解决了。 我在 cygwin sets file permission to 000 中找到了解决方案
编辑/etc/fstab 并在文件末尾添加这一行:
none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
然后关闭所有 Cygwin 进程,打开一个新终端并再次对您的文件执行 ls -l。
关于java - 通过 Cygwin 部署 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10311238/