我在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
答案 0 :(得分:0)
答案 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>