bash - 如何使用 tomcat 7 在嵌入式 Web 应用程序中运行 bash 脚本(linux)?

标签 bash jakarta-ee tomcat web-applications root

我想用 java ee/servlets 运行 bash 脚本。 我希望它嵌入到一个 web 应用程序中,在 linux 操作系统中使用 tomcat 7。

最佳答案

  1. 将脚本嵌入到 Web 应用程序中,例如 war 文件的根目录。
  2. 应用程序部署后获取文件路径:

    String scriptPath = getServletContext().getRealPath("/script.sh");

  3. 使用 ProcessBuilder 类运行脚本:

    new ProcessBuilder("/bin/sh", scriptPath).start();

请注意,如果您的 servlet 容器不提取 war 文件的内容,则第 2 步可能会失败。在这种情况下,您必须将脚本作为类路径上可用的资源,将其内容复制到一个临时文件中,然后在其中运行脚本。

关于bash - 如何使用 tomcat 7 在嵌入式 Web 应用程序中运行 bash 脚本(linux)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789930/

相关文章:

regex - 如何进行多行和非贪婪的模式范围匹配?

java - 创建没有 Vaadin 插件的 Vaadin 项目

Linux tomcat + Windows 身份验证

java - Jsp加载大量数据到内存?

linux - 如何使用bash中的变量内容传递给脚本中的查找?

git - Git Bash 和 GitHub for Windows shell 有什么区别?

linux - 使用 bash '&' 命令并行处理

multithreading - 如何在基于 servlet 的 Web 应用程序中运行后台任务?

java - 为 Spring MVC 和 Maven WebApplication 创建文件/图像文件夹目录

java - 为什么我不能将这个 ROOT.war 文件部署到我的远程 Tomcat 服务器中?当我重新启动 Tomcat 时,它会创建一个 "empty"ROOT 目录