java - 通过 Cygwin 部署 java

标签 java maven deployment cygwin

我的 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/

相关文章:

java - 类加载器和服务加载器。使用哪个类加载器?

java - 将java方法转换为cpp

Android Studio 3rd 方库集成

java - 有哪些与 java、spring、hibernate、maven 相关的好博客值得阅读?

google-app-engine - persistence.xml 在 appengine-骨骼-archetype 中的位置

ruby-on-rails - 在 Capistrano 中部署 Git 子目录

javascript - 如何使 GET 产品与 Strict CSP 兼容?

java - 如何为一个 Java 类创建两个接口(interface),一个是只读的,一个是可读写的?

macos - 使用 Xcode 发布适用于 macOS 的 GTK+ 应用程序

deployment - 23MB EAR 的 wsadmin AdminApp.install 挂起