Pergunta

Eu tenho instalado e configurado tomcat + Solr na minha máquina linux pessoal e janelas também. Eu era capaz de levá-los a trabalhar bem. Eu sou muito novo para Java e como funciona a estrutura de arquivo. (Ou seja, saber onde colocar os arquivos de guerra e que WEB-INF é) Então agora que estou pronto para instalar Solr e configurá-lo em meus clientes plano de hospedagem compartilhada, as direções são diferentes do que eu fiz antes. Eu não quero estragar isso e, aparentemente, o servidor reinicia diária e eu não acho que posso fazer isso manualmente, o que significa que eu tenho uma chance de isso todos os dias.

Aqui está as instruções para a instalação de um servlet tomcat em seu provedor de hospedagem: http://www.apluskb.com/scripts/Where_do_I_put_my_answer1186.html

Como você pode ver eu preciso instalar Solr no diretório html / WEB-INF, mas ler o que diz .. é muito confuso:

"Todos os Servlets devem ser carregados na / html / WEB-INF / classes diretório. Quaisquer classes personalizadas descompactado e os recursos devem ser carregados nos / html / WEB-INF / classes diretório, enquanto as classes e recursos embalado em Jar arquivos devem ser enviados para / html / WEB-INF / lib . "

uhh ... então qual é? /Aulas? ou / lib? Eu não acho que eles explicam que muito bem e eu estou um pouco confuso com essa afirmação. Também o que exatamente eu instalo? Com instalar um Solr normal, Solr é colocado em outro lugar, o arquivo de guerra é copiado para tomcat e no resto do Solr é referenciado usando algum tipo de arquivo de configuração XML.

Além disso, desde que eu sou um pouco novo para Java e servlets, alguém pode explicar a estrutura do arquivo tomcat para mim (em grande detalhe vai definitivamente ter um +1 de mim) e onde as coisas devem ir e por quê?

Agradecemos antecipadamente!

Foi útil?

Solução

estrutura de aplicativo da Web é definido pela J2EE spec, não é limitado (ou específica) para Tomcat per se. Aqui é um detalhado tutorial cobrindo seu layout. Resumidamente, no entanto, é a seguinte:

  1. Há uma base (raiz, em casa, o que você quiser chamá-lo) pasta que serve como raiz do aplicativo web, tudo o resto vai sob ele.
  2. Todo o material pública (html, imagens, CSS, javascript, JSP, o que você tem) vai sob essa pasta (diretamente ou através de subpastas).
  3. Há uma pasta especial, também localizado diretamente na raiz, chamado WEB-INF. Ele contém o material não pública, como descrição do aplicativo (web.xml), classes (que vão para a pasta WEB-INF/classes), bibliotecas (WEB-INF/lib) e, possivelmente, os arquivos de configuração.
  4. A aplicação pode ser implementada utilizando a estrutura expandida acima ou como WAR (arquivo de teia) que é basicamente um arquivo que continha tudo acima iniciando a nível pasta raiz (mas não incluindo a raiz).

A distinção entre pastas classes e lib é simples: todas as bibliotecas embalados (arquivos JAR) necessidade de entrar em lib; todas as classes não embalados (e arquivos de recursos que precisam ser no classpath) tem que ir para classes preservando sua estrutura de diretório (classe por exemplo com.mypackage.Blah deve entrar em classes/com/mypackage/)

No seu caso, parece que você só pode ter aplicação um web implantado e tem que ser implantado para a pasta /html. Se você estiver implantando um arquivo de guerra, é preciso extraí-lo para esse diretório (por exemplo, a partir de dentro que /html pasta jar xvf solr.war corrida ou seja lá o que é chamado).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top