java - 我可以从 64 位 Java 运行 runtime.exec() 一个 32 位批处理文件吗?

标签 java windows tomcat batch-file 32bit-64bit

我们正在将我们的服务器从 32 位 Windows 2003 升级到 64 位 Windows 2008,在我们选择升级后的服务器应用程序的 32 位和 64 位版本之前,我正在做一些尽职调查.

我们目前有一个 Tomcat 服务器,其中包含许多使用 Runtime.getRuntime().exec() 启动 perl 脚本(在 Windows 批处理文件内)的 Web 应用程序。 Perl 脚本依次启动 MS Office 以创建和操作对象。

根据我的阅读,大多数人(包括 Microsoft)建议安装 32 位 Office,除非您有充分的理由安装 64 位版本(在这一点上,我不认为我们做)。

看起来这可能意味着我必须运行 32 位 Perl 才能创建 32 位 Office 对象。

问题是,这是否也意味着我需要在 32 位 Java 上运行 Tomcat?如果是这样,我有第二个问题,即我是否可以在不同的 JVM 中安装多个 Tomcat 实例,以便利用 64 位操作系统中的额外内存?

如果可以从 64 位 Java 中启动 32 位进程,是否有任何特殊技巧,或者仅在 cmd 命令的路径中指定 WOW64 就足够了吗?

最佳答案

exec docs状态

(...) Starting an operating system process is highly system-dependent. (...)

因此,人们会假设完全有可能从 64 位 Java 进程启动 32 位进程,因为在 Windows 上启动另一个进程根本不关心位数。

如果您启动 SysWOW64\cmd.exe,您应该完全没问题。

您正在运行哪个 Perl 发行版? Strawberry Portable ZIP editions无需安装任何东西即可并排使用。

关于java - 我可以从 64 位 Java 运行 runtime.exec() 一个 32 位批处理文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255533/

相关文章:

android - 在 Linux 和 Windows 主机上开发 Android 应用程序

java - 阀门配置在 tomcat 中不起作用?

java - Tomcat NIO 和 Sendfile 清理文件发送

java - Rally Rest API 通过缺陷 FormattedID 获取对话帖子

java - 装饰器模式和委托(delegate)模式的区别

.net - 将数据传递给自定义 Windows 服务

linux - 是否有 "cde"的类似版本可以在 Microsoft Windows 上运行?

css - 如何修复 apache-tomcat-8.5.39 中的默认内容类型呈现问题?

java - ant - 禁用 Ivy 以在每次运行时获取依赖项

从 List<Object[]> 到 List<MyDTO> 的 Java 流