2016-12-08 5 views
0

У меня возникли проблемы с развертыванием проекта, который был преобразован из муравья в maven, на Glassfish 4. Когда я создаю файл войны с моим файлом build.xml, я могу развернуть его без каких-либо проблем , но когда я делаю войны файл с Maven и попытаться развернуть его, я получаю следующее исключение:Glassfish 4: проблемы с развертыванием при создании с Maven

Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: java.lang.ArrayIndexOutOfBoundsException: 48188. 

Я бы предположить, что есть какая-то проблема в файле pom.xml. Я буду использовать его здесь, но это довольно большой файл (в проекте используется много зависимостей), поэтому я не уверен, будет ли это очень полезно. Что может быть причиной этого исключения?

pom.xml файл: http://pastebin.com/aQS2inaQ

Att.

Chris Michaels

+0

Я думаю, что это поможет и. [http://stackoverflow.com/questions/21039049/severe-containerbase-addchild-startorg-apache-catalina-lifecycleexception-fa](http://stackoverflow.com/questions/21039049/severe-containerbase-addchild-startorg -apache-catalina-lifecycleexception-fa) – Shalika

+0

К сожалению, ни одно из этих решений не применимо к моей проблеме. Att. Chris Michaels –

+0

Ваш pom нуждается в большой очистке. Область по умолчанию для зависимостей «компилируется», поэтому вы производите упаковку тонны вещей, которых не должно быть, как и все ваши тестовые рамки, которые должны иметь «пробную» область, плюс все JSR, которые снабжены GlassFish и будут конфликтовать. (Это было бы хорошей идеей, чтобы заменить отдельные зависимости JSR только с координатами Java EE 7: ' javax JavaEE-апи 7,0 при условии ' – Mike

ответ

0

Сравните содержимое 2 WAR, созданных Ant и Maven. Список файлов jar в WEB-INF/lib должен быть аналогичным. Я предполагаю, что версия maven содержит гораздо больше, чем версия Ant.

Вы должны дать provided простор для зависимостей, которые предоставляют только API, который уже доступен в GlassFish:

<dependency> 
    <groupId>javax.el</groupId> 
    <artifactId>el-api</artifactId> 
    <version>1.1</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.hibernate.javax.persistence</groupId> 
    <artifactId>hibernate-jpa-2.0-api</artifactId> 
    <version>1.0.1.Final</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.ejb</artifactId> 
    <version>3.1</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.faces</artifactId> 
    <version>2.1.7</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.jboss.spec.javax.transaction</groupId> 
    <artifactId>jboss-transaction-api_1.1_spec</artifactId> 
    <version>1.0.0.Final</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-bundle</artifactId> 
    <version>1.11</version> 
    <scope>provided</scope> 
</dependency> 

Или просто удалить эту зависимость и заменить их с

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope> 
</dependency> 
+0

Эй, спасибо, это действительно помогло. Моя особая проблема была с одной конкретной баночкой внутри файла войны icu4j.jar. Проверка в дереве зависимостей mvn показала мне, что файл пришел из jaxen 1.1.1. Использование jaxen 1.1.6 вместо этого удалило эту банку из зависимостей и решило проблему. –

0
  • Что версия JDK от galssfish сервера?
  • Какую версию jdk вы используете для создания приложения?
  • Добавили ли вы зависимости maven к своему проекту?
  • После обновления maven-зависимостей несколько раз в системной библиотеке Jre изменений в приложении автоматически.so сделал u проверить версию системной библиотеки jre в java-сборке после обновления maven зависимостей?
Смежные вопросы