我已经在我的个人Linux机器和Windows上安装并配置了tomcat + solr。我能够让他们正常工作。我是Java的新手,以及文件结构的工作原理。 (即知道在哪里放置war文件和WEB-INF是什么)所以现在我已经准备好安装solr并在我的客户端共享主机方案上配置它,方向与我之前做的不同。我不想搞砸了这一点,显然网络服务器每天都会重新启动,我不认为我可以手动完成,这意味着我每天都有一次机会。

以下是在其托管服务提供商上安装tomcat servlet的说明: http://www.apluskb.com/scripts/Where_do_I_put_my_answer1186.html

正如您所看到的,我需要在html / WEB-INF目录下安装solr,但请阅读它所说的内容..它非常令人困惑:

  

“所有Servlet都应上传到 / html / WEB-INF / classes 目录中。任何解压缩的自定义类和资源都应上传到 / html / WEB-INF / classes 目录中,而 Jar 文件中包含的类和资源应上传到 。/ HTML / WEB-INF / lib中"

呃......这是什么? /类?或/ lib?我不认为他们解释得那么好,我对这句话感到有些困惑。我究竟安装了什么?使用正常的solr安装,solr放在其他地方,war文件被复制到tomcat中,其余的solr被使用某种XML配置文件引用。

另外,既然我对Java和servlet有点新意,有人可以向我解释一下tomcat文件结构(非常详细一定会给你一个+1),应该去哪里以及为什么?

提前致谢!

有帮助吗?

解决方案

Web应用程序结构由J2EE规范定义,它不限于(或特定于)Tomcat本身。这是一个详细教程,涵盖其布局。简而言之,它如下:

  1. 有一个基础(root,home,无论你想称之为什么)文件夹,它作为Web应用程序的根目录,其他一切都在它之下。
  2. 所有公共内容(html,图像,CSS,javascript,JSP,你有什么)都在该文件夹下(直接或通过子文件夹)。
  3. 有一个特殊文件夹,也直接位于root下,名为 WEB-INF 。它包含非公共内容,如应用程序描述符( web.xml ),类(进入 WEB-INF / classes 文件夹),库( WEB- INF / lib )以及可能的配置文件。
  4. 可以使用上面的扩展结构或作为WAR(Web存档)部署应用程序,这基本上是一个存档,包含从根文件夹级别开始的所有内容(但不包括root用户)。
  5. classes lib 文件夹之间的区别很简单:所有打包的库(JAR文件)都需要进入 lib ;所有未打包的类(以及需要在类路径中的资源文件)必须进入 classes 保留其目录结构(例如 com.mypackage.Blah class应该进入 classes / com / mypackage /

    在您的情况下,您似乎只能部署一个Web应用程序,并且必须将其部署到 / html 文件夹。如果您正在部署war文件,则需要将其解压缩到该目录(例如,从 / html 文件夹中运行 jar xvf solr.war 或其他任何名称)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top