我在 Maven 项目中使用 glassfish-embedded-web 进行集成测试:
<dependency>
<groupId>org.glassfish.extras</groupId>
<artifactId>glassfish-embedded-web</artifactId>
<version>3.2-b06</version>
<scope>test</scope>
</dependency>
glassfish-embedded-web 带有 Eclipselink 2.2.0,但该项目需要 2.4 的功能。对于常规部署,通过将 je 所需的 jar 添加到 glassfish 的模块目录和此依赖项来解决此问题:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>
我也尝试了编译范围,仍然使用嵌入式 EL 2.2.0。添加对 EL 2.4.1 的测试范围依赖项没有帮助。有没有办法解决这个问题?