【问题标题】:Why jar can not be deployed on Apache tomcat or any other application server?为什么 jar 不能部署在 Apache tomcat 或任何其他应用服务器上?
【发布时间】:2016-09-01 17:27:09
【问题描述】:

面试中被问到可以在tomcat上部署jar吗? 我的回答是否定的,所以计数器就是为什么会这样。

请帮忙

提前致谢

【问题讨论】:

  • 很清楚他在问什么。这种近距离投票毫无意义。
  • 当然可以,但您希望发生什么?
  • 这只是问我一个面试问题,我们能做到吗,我的回答是不,我们不能,所以面试官反驳说,如果不能,那为什么会这样???

标签: java tomcat


【解决方案1】:

要成功部署它,您必须创建一个war 文件而不是jar。查看差异:

  • jar(Java 存档)包含库、资源和附件文件。
  • war(Web 存档)包含可部署在任何 servlet/服务器上的 Web 应用程序
  • ear (Enterprise archive) 以上都可以打包部署在任何服务器/servlet 上

我不知道你的发展背景。如果您使用Maven,只需更改包装即可。

<project>  
    <groupId>com.example</groupId>
    <artifactId>exampleProject</artifactId>
    <packaging>war</packaging>
    <version>1</version>
    ....
</project>

在采访中你会简单地回答jar 的目的不是部署在Tomcat 上。有war。此外,war 包含 HTML、CSS、JavaScript、JSP、图像等 Web 内容。

【讨论】:

    【解决方案2】:

    您不能在独立的 Tomcat 容器中部署 jar,但可以将 Web 应用程序部署为嵌入式 Tomcat 中的可执行 jar(例如 - 使用带有嵌入式 tomcat 作为容器的 Spring boot)

    【讨论】:

      猜你喜欢
      • 2011-01-13
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 2019-06-15
      • 2017-04-01
      • 1970-01-01
      • 2020-07-18
      • 2011-01-20
      相关资源
      最近更新 更多