【问题标题】:Apache Tomcat under Windows: Changing webapps default directoryWindows 下的 Apache Tomcat:更改 webapps 默认目录
【发布时间】:2010-10-04 11:20:39
【问题描述】:

我正在使用 Ant 部署我的 Java 应用程序。不幸的是,由于 Vista,我在本地机器上的测试部署不起作用。 Program Files 方向受到保护,我不想以管理员身份启动 Ant 或 Eclipse。所以我有了将我的 webapps 文件夹移动到工作区子文件夹的想法,这样我也可以在 Ant 中使用相对路径。

解决方案似乎是修改 server.xml 中的 Host 元素。使用 Linux 就不是那么回事了:

  <Host name="localhost"  appBase="/path/to/webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

但在 Windows 上,我做错了。我尝试了我能想象到的所有可能的组合,例如:

      C://Users//maerch//Workspaces//Tomcat6.0_webapps
      C:/Users/maerch/Workspaces/Tomcat6.0_webapps
      C:\Users\maerch\Workspaces\Tomcat6.0_webapps
      C:\\Users\\maerch\\Workspaces\\Tomcat6.0_webapps
      C://Users//maerch//Workspaces//Tomcat6.0_webapps\\
      C:/Users/maerch/Workspaces/Tomcat6.0_webapps/
      C:\Users\maerch\Workspaces\Tomcat6.0_webapps\
      C:\\Users\\maerch\\Workspaces\\Tomcat6.0_webapps\\

路径也是正确的,但是不行。日志文件中也没有错误消息,浏览器也没有显示 404 消息或其他任何内容。只是一个没有标题的白页等等。有人可以帮忙吗?

【问题讨论】:

  • 对我来说这是一个部署问题,部署属于编程​​。但很抱歉,如果我误解了这一点。下次我会考虑这个。谢谢。
  • 这与我所看到的编程相关的足够接近。部署是编程的重要组成部分。

标签: tomcat web-applications


【解决方案1】:

我遇到了与 Vista 非常相似的安全问题,我通过在“Program Files\Apache Software Foundation\Tomcat XYZ”文件夹中为“用户”组提供“完全控制”访问级别来解决它。

它为我解决了 tomcat 的部署问题以及关于启动 tomcat 作为服务的问题。当然,您可以更严格地分配权限(每个部署用户组或每个用户)。 IMO 它比重新配置 tomcat 更快。

关于您的原始问题如何在 Windows 下更改 ${catalina.home} 之外的路径:

这和你必须在 *nix 上完成它是一样的:

  <Host name="localhost"  appBase="/c:/webapps2"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

appBase 中提到的文件夹中有 ROOT 文件夹吗? 该方法在Tomcat 6.0下测试

【讨论】:

  • 你是对的。我不知道为什么我没有想到这一点。解决了我的问题,但不幸的是它不是问题的答案,所以你只会提高你的声誉! ;-) 我仍然有兴趣解决这个问题。发现很多网站都没有头绪。
  • P.S.它与问题并没有真正的关系,但对我来说是一个经验法则,我不再使用 Windows,但我记得作为最佳实践,我从未在路径中使用过 ,我安装了所有这些东西。我总是在一些 less 路径中安装程序。
  • 关于文件/文件夹名称中的空间:我完全同意 Vinegar,但它不再是 Microsoft 的观点。长期以来,第三方软件的默认目录是“Program Files”或“Program Files (x86)”。
  • 我已经根据给定的 更改了 server.xml,但 tomcat 没有启动..!还有什么需要改变的? (在 Ubuntu 系统上)
【解决方案2】:

以下应该在 Windows 中工作:

C:/Users/maerch/Workspaces/Tomcat6.0_webapps/
/Users/maerch/Workspaces/Tomcat6.0_webapps/

Windows 还支持 Unix 的斜杠 (/),因此最好使用它而不是 Windows 的 (\)。此外,Windows 的“默认根目录”是 C:,因此您不需要在绝对路径中使用它。

我不认为这是路径的问题。也许您可以尝试使用相对路径:

"../../../Users/..."

最好将 Tomcat 安装在您拥有完全访问权限的目录中。

【讨论】:

    【解决方案3】:

    适用于窗户

    appBase="c://webapps2"

    【讨论】:

      【解决方案4】:

      如果将相同的 webapps 目录复制到另一个位置并更改 server.xml 文件中的路径会怎样。如果我们这样做,那么我绝对相信我们不会有任何问题,因为只要 webapps 需要部署应用程序,它就会有。

      【讨论】:

        【解决方案5】:

        我在 Apache tomcat 8.5 版中尝试过,只需使用 appBase="c:\path\to\webapps" 即可无缝运行

        【讨论】:

          猜你喜欢
          • 2012-12-04
          • 1970-01-01
          • 1970-01-01
          • 2013-06-05
          • 2013-12-31
          • 2011-06-22
          • 1970-01-01
          • 2014-05-16
          • 1970-01-01
          相关资源
          最近更新 更多