То, как исключить pom.xml от Знатока, генерировало войну?

Если Вы не хотите смешивать со своим поставщиком DNS, Вы могли бы использовать псевдонимы для своих экземпляров. Я был действительно удивлен, что Amazon не позволял давать псевдоним для экземпляра EC2, когда они выпустили Консоль управления AWS, но тем временем, Вы могли использовать свободное сервис RightScale , если Вы хотите функцию псевдонима - намного легче, чем запоминание тех идентификаторов экземпляра Amazon.

20
задан user179080 25 September 2009 в 14:34
поделиться

3 ответа

Насколько мне известно, при использовании стандартной упаковки Maven вы не можете пропустить файл. Однако можно использовать maven-assembly-plugin для создания войны, в этом случае у вас есть более тонкий контроль над содержимым артефакта, и вы можете опустить pom.xml.

Однако я лично счел полезным сохранить файл pom.xml для диагностических целей. При попытке выяснить, что не так с вашим приложением, может быть удобно знать, что было использовано для построения и сборки войны.

Обновление: в причудливой части синхронизации с ответом Паскаля, я только что читал ссылка на Архиватор , и похоже, что это можно сделать, установив для свойства addMavenDescriptor значение false. Лично я бы все равно избегал этого по причинам, указанным выше.

14
ответ дан 29 November 2019 в 23:06
поделиться

Помещение папки META-INF в каталог ресурсов или в корень исходного каталога уничтожит содержимое META-INF, созданное Maven. Для файлов WAR размещение META-INF в каталоге вашего веб-содержимого будет делать то же самое.

Добавление другого содержимого к этому настраиваемому META-INF переопределит то, что создаст maven.

0
ответ дан 29 November 2019 в 23:06
поделиться

I'm not sure but I think that the Maven Archiver (which is mainly used by plugins to handle packaging) can be configured to achieve this.

About the element, the Maven Archiver Reference says:

Whether the generated archive will contain these two Maven files:

  • The pom file, located in the archive in META-INF/maven/${groupId}/${artifactId}/pom.xml
  • A pom.properties file, located in the archive in META-INF/maven/${groupId}/${artifactId}/pom.properties

The default value is true.

So a pom configured like this should do the trick:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>
40
ответ дан 29 November 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: