Начало работы программы Google GWT StockWatcher на Tomcat с вызовами RPC - PullRequest
0 голосов
/ 25 октября 2011

Я следовал учебному пособию по GWT по умолчанию и дошел до части Java RPC, http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html для создания примера приложения StockWatcher.

У меня все работает локально в Eclipse, включая Java-сервлет. Файл war / WEB-INF / web.xml выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee">

  <!-- Servlets -->
  <servlet>
    <servlet-name>stockPriceServiceImpl</servlet-name>
    <servlet-class>com.google.gwt.sample.stockwatcher.server.StockPriceServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>stockPriceServiceImpl</servlet-name>
    <url-pattern>/stockwatcher/stockPrices</url-pattern>
  </servlet-mapping>

  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>StockWatcher.html</welcome-file>
  </welcome-file-list>

</web-app>

Я не знал, как поместить все это в файл военных действий, но нашел в Интернете этот сценарий ANT, в котором он создал файл .war.

<project name="StockWatcher" basedir="." default="default">

    <target name="default" depends="buildwar,deploy"></target>

    <target name="buildwar">
        <war basedir="war" destfile="StockWatcher.war" webxml="war/WEB-INF/web.xml">
            <exclude name="WEB-INF/**" />
            <webinf dir="war/WEB-INF/">
                <include name="**/*.jar" />
            </webinf>
        </war>
    </target>

    <target name="deploy">
        <copy file="StockWatcher.war" todir="." />
    </target>

</project>

Когда я загрузил приложение в Tomcat, все компоненты JavaScript на стороне клиента работают нормально, однако сервлет RPC не работает, я получаю следующую ошибку.

HTTP-статус 404 - запас сервлетаPriceServiceImpl недоступен

Как мне это исправить?

1 Ответ

0 голосов
/ 25 октября 2011

Ваши классы вполне могут быть скомпилированы в WEB-INF/classes и не упакованы в JAR, поэтому ваш <include name="**/*.jar" /> исключает ваши классы. Я не знаю Ant достаточно, чтобы дать вам лучший способ (если таковой имеется) для построения вашей WAR, но попробуйте добавить <include name="**/*.class" /> рядом с существующим, чтобы подобрать ваши классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...