Glassfish 4:使用Maven构建时部署问题

时间:2016-12-08 17:11:44

标签: maven ant glassfish

我在Glassfish 4上部署从ant转换为maven的项目时出现问题。当我使用build.xml生成war文件时,我可以毫无问题地部署它,但是当我使用war文件生成时Maven并尝试部署它,我得到以下异常:

Thing(short const &) = delete;
Thing(long const &) = delete; //lets disable long as well.

我认为pom.xml文件中存在一些问题。我会在这里粘贴它,但它是一个非常大的文件(该项目使用了很多依赖项),所以我不确定它是否会有很大的帮助。什么可能导致该例外?

pom.xml文件: http://pastebin.com/aQS2inaQ

ATT。

Chris Michaels

2 个答案:

答案 0 :(得分:0)

  • galssfish服务器的jdk版本是什么?
  • 你用来构建应用程序的jdk版本是什么?
  • 您是否在项目中添加了maven依赖项?
  • 在某些时候更新maven依赖项Jre系统库 自动更改应用程序。所以你检查了    更新maven后java构建路径中的jre系统库版本    依赖?

答案 1 :(得分:0)

比较Ant和Maven创建的2个WAR的内容。 WEB-INF/lib中的jar文件列表应该类似。我猜maven版本包含的内容远远多于Ant版本。

您应该将provided范围赋予仅提供GlassFish中已有的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>