Ошибка Maven в Appengine при выполнении DevSever Goal Run

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

com.google.apphosting.utils.config.EarHelper reportConfigException [INFO] INFO: каталог приложения 'путь-к-проекту /DemoEar-1.0.0-SNAPSHOT/DemoWarApp' должен существовать и быть каталогом.

моя структура модуля ниже

main application.xml содержит

 <module>
 <web>
 <web-uri>DemoWarApp</web-uri>
 <context-root>DemoWarApp</context-root>
</web>
</module>

его явно не указывает на правильный путь к папке войны. кто-нибудь знает как это исправить?

Спасибо

1 ответ

Созданная папка пакета должна соответствовать web-uri в вашем application.xml. Таким образом, вы либо измените имя папки пакета с bundleFileName в maven-ear-plugin

<modules>
        <webModule>
            <groupId>groupId-of-DemoWarApp</groupId>
            <artifactId>artifactId-of-DemoWarApp</artifactId>
            <bundleFileName>DemoWarApp</bundleFileName>
        </webModule>
</modules>

или вы меняете web-uri to {module-name}-{version} каждый раз, чтобы соответствовать имени созданной папки пакета.

Я бы порекомендовал версию независимой комплектации bundleFileName (то же самое, что и ваш web-uri) так что вам не придется беспокоиться об этом при изменении версии.

Полный фрагмент ушного плагина:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.9</version>
    <configuration>
      <modules>
        <webModule>
            <groupId>groupId-of-DemoWarApp</groupId>
            <artifactId>artifactId-of-DemoWarApp</artifactId>
            <bundleFileName>DemoWarApp</bundleFileName>
        </webModule>
      </modules>
      <version>5</version>
      <defaultLibBundleDir>lib</defaultLibBundleDir>
      <unpackTypes>war</unpackTypes>
    </configuration>
</plugin>
Другие вопросы по тегам