Как объединить войны в одну?

Я не знаю способ получить значения аргументов каждой функции в трассировке стека вызовов, но одно решение состояло бы в том, чтобы поймать определенное исключение (KeyNotFoundException в Вашем примере) и повторно бросить его в новое Исключение. Это позволяет Вам, связывают любую дополнительную информацию, которой Вы желаете

, Например:

Dim sKey as String = "some-key"
Dim sValue as String = String.Empty

Try
   sValue = Dictionary(sKey)
Catch KeyEx As KeyNotFoundException
   Throw New KeyNotFoundException("Class.Function() - Couldn't find [" & sKey & "]", KeyEx)
End Try

я ценю Ваш оператор о локализации строк ошибки, но если Ваша аудитория является 'главным образом программистами' тогда, соглашение уже диктует понимание английского языка до некоторой степени (справедливо или неправильно - но это - другие дебаты!)

10
задан Dan 7 October 2009 в 17:39
поделиться

6 ответов

Принимая во внимание риски, упомянутые djna и ChssPly76, вы можете добиться этого, используя оверлеи с плагином Maven WAR . Это потребует от вас разделения сопоставлений сервлетов, чтобы убедиться, что у вас нет конфликтов URL-адресов и т.п., но это может помочь.

По сути, вы создаете модуль с несколькими зависимостями WAR и используете плагин для их объединения в новый.

8
ответ дан 3 December 2019 в 23:50
поделиться

Совершенно очевидно, что это возможно, но я думаю, что вам лучше в первую очередь поработать над одной WAR. Позднее "смешивание" содержимого WAR звучит для меня как кошмар службы поддержки.

1
ответ дан 3 December 2019 в 23:50
поделиться

Напомню, что плагин cargo-maven2-plugin имеет моджо uberwar . Я не использовал его, но понимаю, что он предназначен для объединения войн, хотя вы должны быть осторожны, чтобы избежать конфликтов.

Быстрое сканирование источника показывает, что вы определяете дескриптор слияния , чтобы определить, как слить войны. К сожалению, сайт документации пропал, поэтому я не могу предоставить вам более подробную информацию.

Вы можете проверить сайт Codehaus Jira , чтобы понять его текущий статус.

Чтобы использовать плагин, вы должны указать конфигурацию примерно так:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <version>1.0</version>
      <extensions>true</extensions>
      <configuration>
      <descriptor>merge.xml</descriptor>
      </configuration>
    </plugin>
  </plugins>
</build>
<dependencies>
  <dependency>
    <groupId>project1.groupId</groupId>
    <artifactId>project1</artifactId>
    <type>war</type>
    <version>1.0.0</version>
  </dependency>
  <dependency>
    <groupId>project2.groupId</groupId>
    <artifactId>project2</artifactId>
    <type>war</type>
    <version>1.2.0</version>
  </dependency>
</dependencies> 

(все еще ищем пример merge.xml)

4
ответ дан 3 December 2019 в 23:50
поделиться

EAR предназначены для хранения нескольких вещей. Будет ли это возможность для вас?


Edit: Прежде всего, давайте предположим, что нет дублирующихся ресурсов (какой из них должен быть в последней банке?) И что все банки совместимы (у вас есть только одна версия каждого библиотеки и т. д.)

У вас должна быть возможность просто копировать содержимое WEB-INF / друг на друга, за исключением различных файлов XML, которые необходимо аккуратно объединить. Самый простой способ сделать это, вероятно, - использовать таблицу стилей XSLT, которая позволяет вам хранить два XML-документа и объединять их (если я правильно помню, это тег).

1
ответ дан 3 December 2019 в 23:50
поделиться

Возможно, вам удастся заставить что-то работать с One-Jar.

http://one-jar.sourceforge.net/

Вероятно, он не делает все, что вы хотите.

-1
ответ дан 3 December 2019 в 23:50
поделиться

В общем - нет, это невозможно. Что делать, если у вас есть повторяющиеся имена JSP? Имена / сопоставления сервлетов? Одни и те же прослушиватели контекста загружаются с разными параметрами (обычно, если вы используете Spring / Struts / и т. Д. ...)? Вы уловили суть.

В вашем конкретном случае это может или не может быть возможным в зависимости от ваших конкретных обстоятельств. Извлечь war и скопировать JSP / классы / библиотеки очень просто; слияние web.xml немного сложнее, поскольку вам нужно поддерживать порядок элементов - может быть проще вручную определить «объединенный» web.xml.

0
ответ дан 3 December 2019 в 23:50
поделиться
Другие вопросы по тегам:

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