我正在遇到问题,该项目在玻璃鱼4上从蚂蚁转换为maven。但是,当我用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)
比较Ant和Maven创建的2场战争的内容。WEB-INF/lib
中的JAR文件列表应相似。我猜Maven版本包含的内容远远超过Ant版本。
您应该给provided
范围与仅提供玻璃鱼中已经可用的API的依赖关系:
<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>
- galssfish服务器的JDK版本是什么?
- 您用来构建应用程序的JDK版本是什么?
- 您是否在项目中添加了Maven依赖性?
- 在更新Maven依赖项后,JRE系统库应用程序自动更改。因此,您检查了 更新Maven之后的JRE系统库版本 依赖关系?