Как настроить GWT для Tomcat?

Я новичок в GWT и изучаю его через документы Google. Как настроить GWT с Tomcat? Я должен интегрировать его с Tomcat для рабочих целей.

4 ответов


нет ничего особенного, чтобы сделать. Вам просто нужно скомпилировать проект gwt и экспортировать папку war в папку Tomcats webapps.

какую IDE вы используете? Если вы используете eclipse или аналогичный и более новую версию tomcat, просто экспортируйте содержимое папки war как обычный zip-архив. Затем измените расширение .zip to .война, и скопируйте его в папку webapps. Перезапустите tomcat, и он автоматически распакует архив и создаст соответствующую папку. И. Е. содержание .военный архив может выглядеть примерно так:

project_name.war
   - css
   - images
   - WEB-INF
   - gwt compiled_javascript folder
   - index.html

более удобный способ запуска GWT в режиме разработки на внешнем сервере tomcat выглядит следующим образом. Она состоит из двух частей

  • укажите tomcat на war dir проекта Gwt в workspace
  • запустите GWT в режиме разработки на внешнем сервере

Я буду использовать следующие пути и имена в этом примере

  • Имя Веб-Приложения -ласты
  • местоположение проекта - $главная / рабочее пространство / плавники
  • каталог проектов войны - $главная / рабочее пространство / плавники / война
  • CATALINA_HOME - $HOME / apache-tomcat-7.0.29 (Tomcat installation dir)

первый шаг-указать tomcat на war dir проекта GWT. Один из методов запуска GWT на внешнем сервере-копирование статических файлов, файлов изображений и GWT dir в Tomcat/webapps dir. При любых изменениях в классах на стороне сервера (например, rcp и т. д.) или статических файлах мы должны скопировать их снова. Это будет громоздко во время цикла развития. Вместо этого мы можем указать tomcat в каталог war проекта, чтобы tomcat запускал приложение непосредственно из рабочей области eclipse. При любых изменениях в проекте tomcat будет делать перезагрузку.

для этого добавьте .xml (плавники.xml в этом примере) в $CATALINA_HOME/conf/Catalina / localhost со следующим содержимым

<Context path="/Fins" docBase="/home/m/workspace/fins/war" reloadable="true"> </Context>

это на самом деле Контекст.xml-файл, найденный в META-INF приложения tomcat, но названный .XML. В случае использования проекта Источники данных JNDI, они должны быть добавлены в этот файл.

  • атрибут DocBase указывает на военный каталог проекта в eclipse. С этим tomcat может запускать веб-приложение непосредственно из рабочей области eclipse без копирования файлов в Tomcat / webapps dir.
  • reloadable атрибут гарантирует, что tomcat перезагружает приложение всякий раз, когда файлы изменяются в eclipse.

Теперь запустите tomcat. Убедитесь, что приложение работает правильно. Внести некоторые изменения в Eclipse и приложение будет перезагрузите tomcat. Перекрестная проверка того же в журналах tomcat.

теперь ко второй части. Мы можем использовать функцию GWT code sever, как описано в GWT и отладки

для этого зайдите в "Запуск от имени" в контекстном меню проекта и выберите "веб-приложение (работает на внешнем сервере)". Введите внешний корень сервера как ребра и дайте html-страницу как ребра.формат html. Это позволит запустить приложение GWT в режиме разработки без запуска встроенного сервера причала.

но это все равно точка к http://localhost:8888/Fins/Fins.html. Мы должны отредактировать конфигурацию запуска, чтобы изменить порт причала 8888 на 8080 tomcat.

перейдите к запуску конфигураций и выберите Fin.html (внешний). Измените поле браузера на вкладке GWT на http://localhost:8080/Fins/Fins.html


enter image description here


запуск и доступ к приложению в

http://localhost:8080/Fins/Fins.html?gwt.codesvr=127.0.0.1:9997

теперь вы сможете полностью использовать режим разработки GWT.


Я использую команду GWT-SDK webAppCreator (из терминала), и она генерирует все файлы, необходимые для запуска на внешнем сервере, таком как Tomcat.

Я предоставлю шаги, которые я следовал, чтобы помочь другим начать с простой разработки GWT-TOMCAT

кот

  1. скачать версию Tomcat, я предпочитаю Tomcat 6 http://apache.tsl.gr/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip
  2. следуйте инструкциям на ваш определенная система работы в целях установить его. Я следил за этим учебник (MAC-OS) http://www.malisphoto.com/tips/tomcatonosx.html

GWT

  1. загрузите версию GWT-SDK (я использую 2.0.4 который я считаю более стабильным и совместимым с внешними источниками как библиотека EXT-GWT и TOMCAT) http://code.google.com/p/google-web-toolkit/downloads/list
  2. откройте терминал, если вы UNIX пользователь затем изменить каталог GWT-SDK вы только что загрузили
  3. изменить разрешения для запуска сценарий webAppCreator. Я обычно изменить разрешения всех файлов с помощью ввода - > помощью chmod 750 *
  4. создайте проект GWT, выполнив в терминал. >- / webAppCreator-out Мой проект ком.мой проект
  5. все файлы автоматически созданный
  6. перейти в каталог проекта только что созданный, введите terminal - > cd Мой проект
  7. скомпилируйте свой проект с помощью муравей сценарий, предоставляемый GWT-SDK, введите в терминале - > Ant build
  8. откройте проект и скопируйте его строить.XML-файл, война/ содержание Webapps/корневая папка Tomcat
  9. наконец откройте тип браузера localhost: 8080 / для запуска проекта (Это откроет ваш проект .формат html страница по умолчанию, потому что это определено внутри /WEB-INF/web.XML файл)

поздравляем!


Я использую GWT с Tomcat в размещенном режиме. Я изменяю Ant-файл, сгенерированный WebAppCreator, чтобы сделать следующий (цель для запуска - > hosted):

  1. компиляция источников java (javac)
  2. скопируйте папку war в webapps / myapp
  3. инициализировать devmode
  4. необходимо перезапустить Tomcat вручную

    <?xml version="1.0" encoding="utf-8" ?>
    <project name="app" default="build" basedir=".">
      <property name="tomcat.home" value="C:/Program Files/Apache Software Foundation/Tomcat 7.0" />
      <!-- Arguments to gwtc and devmode targets -->
      <property name="gwt.args" value="" />
    
      <!-- Configure path to GWT SDK -->
      <property name="gwt.sdk" location="D:/Instaladores/gwt-2.3.0" />
    
      <path id="project.class.path">
        <pathelement location="war/WEB-INF/classes"/>
        <pathelement location="${gwt.sdk}/gwt-user.jar"/>
        <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>
        <!-- Add any additional non-server libs (such as JUnit) -->
        <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/>
      </path>
    
      <target name="libs" description="Copy libs to WEB-INF/lib">
        <mkdir dir="war/WEB-INF/lib" />
        <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet.jar" />
        <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet-deps.jar" />
        <!-- Add any additional server libs that need to be copied -->
      </target>
    
      <target name="javac" depends="libs" description="Compile java source to bytecode">
        <mkdir dir="war/WEB-INF/classes"/>
        <javac srcdir="src" includes="**" encoding="utf-8"
    destdir="war/WEB-INF/classes"
    source="1.5" target="1.5" nowarn="true"
    debug="true" debuglevel="lines,vars,source">
          <classpath refid="project.class.path"/>
        </javac>
        <copy todir="war/WEB-INF/classes">
          <fileset dir="src" excludes="**/*.java"/>
        </copy>
      </target>
    
      <target name="mywar" depends="javac,clean" description="Copy war folder">
    <!--   deploy war folder without compile java to js -->    
        <copy todir="${tomcat.home}/webapps/app">
            <fileset dir="${basedir}/war"/>
        </copy>     
        <chmod perm="a+w">
            <dirset dir="${tomcat.home}/webapps/app/files" />          
        </chmod>
      </target>
    
    
      <target name="gwtc" depends="javac" description="GWT compile to JavaScript (production mode)">
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
          <classpath>
            <pathelement location="src"/>
            <path refid="project.class.path"/>
            <pathelement location="D:/Instaladores/gwt-2.3.0/validation-api-1.0.0.GA.jar" />
            <pathelement location="D:/Instaladores/gwt-2.3.0/validation-api-1.0.0.GA-sources.jar" />
          </classpath>
          <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
          <jvmarg value="-Xmx512M"/>
          <arg line="-war"/>
          <arg value="war"/>
          <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
          <arg line="${gwt.args}"/>
          <arg value="com.app.App"/>
        </java>
      </target>
    
      <target name="devmode" depends="mywar" description="Run development mode">
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
          <classpath>
            <pathelement location="src"/>
            <path refid="project.class.path"/>
            <pathelement location="D:/Instaladores/gwt-2.3.0/validation-api-1.0.0.GA.jar" />
            <pathelement location="D:/Instaladores/gwt-2.3.0/validation-api-1.0.0.GA-sources.jar" />
          </classpath>
          <jvmarg value="-Xmx256M"/>
          <arg value="-startupUrl"/>
          <arg value="http://localhost:8080/app/App.html"/>
          <arg line="-war"/>
          <arg value="war"/>
          <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
         <arg line="${gwt.args}"/>
          <arg value="com.app.App"/>
          <arg value="-noserver"/>      
        </java>
      </target>
    
      <target name="hosted" depends="devmode" description="Run development mode (NOTE: the 'hosted' target is deprecated)" />
    
      <target name="build" depends="gwtc" description="Build this project" />
    
      <target name="war" depends="build" description="Create a war file">
        <zip destfile="${tomcat.home}/webapps/app.war" basedir="war"/>
      </target>
    
      <target name="clean" description="Cleans this project">    
        <delete dir="${tomcat.home}/webapps/app" />    
      </target>
    
    </project>