Преобразовать существующую файловую структуру веб-приложения в файловую структуру maven? - PullRequest
3 голосов
/ 23 ноября 2010

У меня есть веб-приложение, которое создает файл .war. Я хочу преобразовать структуру каталогов в соглашения maven. И я немного растерялся.

В частности, текущий .war, созданный целью ant, не копирует в .war что-либо из поддерева каталога site / statics; это копируется другой, другой муравьиной целью.

Но если я захочу запустить, например, jetty из maven (а я так делаю!), Мне нужно будет скопировать site / statics / ** / . куда-нибудь в директорию maven target , Я не знаю, как это сделать, учитывая условности Maven.

Спасибо.

Вот существующая структура каталогов в виде (извините) скриншота из Eclipse:

1 Ответ

6 голосов
/ 05 декабря 2010

Вы бы лучше следовали структуре каталогов по умолчанию maven или, если вы настаиваете на том, чтобы использовать свою собственную, вам необходимо соответственно настроить файл .pom maven.

По умолчанию объясняется структура каталогов подключаемого модуля Maven War здесь и его использование здесь .

По умолчанию $ {basedir} / src / main / webapp - это то место, куда вы должны поместить файлы jsp и другие статические или динамические файлы, которые должны идти в корневой каталог war. Чтобы изменить эту структуру по умолчанию, вам нужно добавить некоторые настройки для вас. Посмотрите на различные варианты, доступные на на этой странице и на на этой странице для примера их использования.

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

<plugins>
  ...
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <webResources>
        <resource>
          <directory>/absolute/path/to/external/static/</directory>
        </resource>
      </webResources>
    </configuration>
  </plugin>
  ...
</plugins>

Каталог может быть путем относительно вашего pom или абсолютным путем (который делает вас porportable) или параметризованным с использованием $ {xxx}

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