gwt-maven-plugin: структура веб-приложения

1

Я использую gwt-maven-plugin и eclipse для создания GWT + Spring webapp. В конце концов, я хочу, чтобы файл.war был развернут на какой-либо сервер приложений (tomcat и т.д.). Проблема в том, что сгенерированный файл.war имеет странную структуру. Изображение 174551

И затем я запустил Tomcat, приложение не работает - на странице SimpleGWT.html есть ссылка на файл javascript, который выполняет всю работу

<script type="text/javascript" language="javascript" src="SimpleGWT/SimpleGWT.nocache.js"></script>

Я предполагаю, что поскольку SimpleGWT.nocache.js находится внутри папки SimpleGWT, которая не находится внутри WEB-INF - она недоступна. Есть ли способ изменить параметры gwt-maven-plugin, чтобы получить нормальную структуру webapp? Вот часть моего pom.xml

<!-- GWT Maven Plugin -->
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>2.6.0</version>
    <executions>
      <execution>
        <goals>
          <goal>compile</goal>
        </goals>
      </execution>
    </executions>
    <!-- Plugin configuration. There are many available options, see 
      gwt-maven-plugin documentation at codehaus.org -->
    <configuration>
        <inplace>true</inplace>
      <runTarget>SimpleGWT.html</runTarget>
      <hostedWebapp>${webappDirectory}</hostedWebapp>
      <i18nMessagesBundle>com.javacodegeeks.gwtspring.client.Messages</i18nMessagesBundle>
    </configuration>
  </plugin>
  • 0
    Что вы подразумеваете под «нормальной структурой веб-приложения», ваша WAR выглядит хорошо для меня. (ваши SimpleGWT.html и SimpleGWT.css не находятся в WEB-INF верно? так почему вы хотите, чтобы SimpleGWT.nocache.js был в WEB-INF ?) Какова точная ошибка / проблема, с которой вы сталкиваетесь при развертывании этого файла WAR в Кот?
  • 0
    Tomcat не жалуется. Когда SimpleGWT.html загружается, он говорит, что SimpleGWT / SimpleGWT.nocache.js - 404 не найден. Когда я помещаю этот скрипт в WEB-INF, вручную собирая war, он работает
Теги:
maven
tomcat
gwt
war

1 ответ

0

Это проблема, которая в основном связана с доступом к статическим ресурсам на странице HTML.

Вы используете relative path, который не имеет префикса "/". Это абсолютный путь, указывающий на корень веб-сервера.

В Spring MVC приложение org.springframework.web.servlet.DispatcherServlet отвечает за обслуживание всего содержимого веб-приложений.

Что вы определили как url-pattern для отображения сервлетов выше? Пожалуйста, используйте *.html или /* как url-pattern.

Дополнительные сведения см. В разделе "Невозможно загрузить файлы сценариев Java в веб-приложении Jetty".

  • 0
    Брей, nochace.js не пропал с войны. Он находится внутри папки SimpleGWT. Но когда генерируется эта война, эта папка перестает быть внутри WEB-INF. Поэтому, когда я запускаю эту войну на Apache Tomcat, браузер не может загрузить скрипт, потому что он не находится внутри WEB-INF. Я попробовал и вручную поместил папку SimpleGWT в WEB-INF, и тогда приложение работает отлично. Однако ручная сборка военного файла кажется мне кощунственным видом)))
  • 0
    Каково значение ${webappDirectory} ?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню