我有一个执行多个文件 I/O 的 Java 程序。运行良好并在 X86/Win7-64b 上编译。确切的 .jar 被复制到 AMD/Win7-64b 并执行奇怪的操作,例如无法打开流或直到结束才读取。
在相同操作系统但不同处理器架构上运行时,Java 执行是否会出现任何问题?
两者都有 Java 版本 1.7.0_09
记录如下:
问题是在我的程序中使用 JNI 桥的 2 个 Win7 安装中的 DLL 略有不同。
最佳答案
如果是的话,您可以轻松地自己解决。启动程序时请注意以下事项:
- 您是从 64 位 cmd.exe shell 还是 32 位 SYSWOW cmd.exe shell 执行 java?
- 您的 JAVA_HOME 指向的是 32 位还是 64 位 java?
- 您的 PATH 应设置为 PATH=%JAVA_HOME%\bin;%PATH%
如果这没有提示您,那么可能只是关闭流或其他问题的问题。我听说 JDK1.7 中的 File-IO 库发生了变化...您使用的是更新的语法还是仍在使用旧的 JDK1.6 传统读取文件?
关于Win7/AMD上的Java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571468/