Glassfish 4:与Maven建立时部署问题



我正在遇到问题,该项目在玻璃鱼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系统库版本 依赖关系?

最新更新