【问题标题】:Difference between deploying WAR and Build folder部署 WAR 和 Build 文件夹的区别
【发布时间】:2014-03-12 15:45:23
【问题描述】:

问题 1:请问使用 WAR 文件部署 java webapp 与将 build 文件夹复制/粘贴到 tomcat webapp 文件夹有什么区别?

问题 2:不知何故,我被告知只需将我的 /build/web 文件夹重命名为 /build/ 即可部署我的项目,然后将此文件夹复制并粘贴到 tomcat/webapp 文件夹中。 Tomcat 确实为 Web 应用程序提供服务,我可以通过 url 访问它。但问题是我怀疑我的系统变量没有设置。我启动了一个 servlet 并将这段代码放在这个 init(ServletConfig config) 方法中:

System.setProperty("LogPath","D:/Test/logs");

在我的 log4j.properties 中执行此操作

log4j.appender.file.FILE=${LogPath}/wrapper.log

在指定目录中没有找到wrapper.log,但在tomcat/logs 文件夹中找到了stdout.log。

我确定 init() 方法已被触发,因为我在那里有一个石英调度程序。我怀疑我的 System.setProperty 没有设置。有什么提示吗?

更新:使用所有相同的源代码,如果我使用 WAR 文件进行部署没有问题。 log4j.properties 中的 ${LogPath} 按预期工作。

【问题讨论】:

    标签: java jakarta-ee war web-deployment


    【解决方案1】:

    让我回答你第一个问题。

    WAR 文件是一个具有不同名称的 zip 存档。当您将此文件部署到 Tomcat 服务器时,它会将此文件解压缩到其文件夹中,就像您通过复制粘贴所做的那样。如果您只是在自己的环境中开发自己的项目并且不想分发它,则不需要创建war文件。但是如果你想分发这个项目,我建议你创建一个war文件。一个文件更容易发送。

    阅读更多关于维基百科http://en.wikipedia.org/wiki/WAR_%28file_format%29

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 2017-11-24
      • 2015-06-14
      相关资源
      最近更新 更多