我编写了JAX-RS的附加内容,并将Java EE 6 API包含为Maven依赖项。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
然后我有一个测试用例:
@Test
public void testIsWriteable() {
class SpecialViewable extends Viewable {
public SpecialViewable() {
super("test");
}
}
FreeMarkerViewProcessor processor = new FreeMarkerViewProcessor(null);
assertTrue(processor.isWriteable(SpecialViewable.class, null, null,
MediaType.WILDCARD_TYPE));
}
但我得到一个错误:
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/ws/rs/core/MediaType
...
如果我将Jersey作为JAX-RS实现而不是Java EE API包含在内,那么一切都很好。
感谢BalusC的提示,我知道了我的猜测:Java EE 6只是一个没有方法主体的API:
来自java.net博客
您可以使用此jar编译代码,但是当然不能使用它运行应用程序,因为它仅包含Java EE 5
API,并且不包含任何方法主体。如果尝试运行,则会出现以下异常:线程“主”中的异常java.lang.ClassFormatError:类文件javax / mail /
Session中不是本机或抽象的方法中的缺少Code属性为了执行Java EE 5应用程序,您仍然需要Java EE 5容器,例如GlassFish应用程序服务器。
我试图用test
范围添加Jersy,但是没有用。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey-version}</version>
<scope>test</scope>
</dependency>
如何测试仅依赖于官方Java EE API的软件?
解
提供程序(Jersey)需要放在pom.xml中的API(javeee-api) 之前 。
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
不确定是否可以解决您的问题,但是GlassFish Embedded提供了Java EE 6实现。将此添加到您的pom.xml
:
<project>
...
<repositories>
<repository>
<id>glassfish-extras-repository</id>
<url>http://download.java.net/maven/glassfish/org/glassfish/extras</url>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>org.glassfish.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
...
</dependencies>
...
</project>
据申报是很重要的glassfish-embedded-all
神器 之前 的javaee-api
。
问题内容: 在斯威夫特,我怎么能写这样的情况,一个开关语句测试值被切换对抗的内容 可选 ,跳过如果可选包含案例? 这是我想象的样子: 如果我只是这样写,编译器会抱怨没有解包,但是如果我通过添加到末尾来显式解包,那么我当然会在包含的任何时间收到运行时错误。对我来说,添加而不是有意义(我想是基于可选链接的精神),但并不能消除编译器错误(即,实际上并未解开可选)。 问题答案: 可选就像这样: 因此,您可
我是XSD新手,不知道为什么我的XSD没有进行验证。我收到以下错误: s4s-elt-无效-内容.1:“参数信息”的内容无效。元素“复杂类型”无效、放错位置或出现过于频繁。 cvc复合型。2.4。d: 发现以元素“exception”开头的无效内容。此时不需要任何子元素。 XML: XSD: 我错过了什么吗?我想通过使用复杂类型并引用它们来分解它,从而使其更容易...
我无法使用jhipster对web层进行单元测试(根据spring gs指南): 上面的单元测试在green-field spring boot项目的情况下成功,但在基于green-field spring boot的jhipster项目的情况下失败: 在FlightResource的jhispter项目(springboot-with-jhipster)中运行单元测试时,我得到了:
我将Django REST框架工具包与Django1.11一起使用,并尝试根据URL过滤结果。以下是我的设置: models.py: 我希望通过我的包模型的name字段来过滤结果,而不是使用以下内容: 我怎么才能做到这一点呢?
本文向大家介绍如何对水壶进行测试相关面试题,主要包含被问及如何对水壶进行测试时的应答技巧和注意事项,需要的朋友参考一下 参考回答: (同快手对水杯的测试) 功能 (1)水倒水壶容量的一半 (2)水倒规定的安全线 (4)水壶容量刻度与其他水壶一致 (5)盖子拧紧水倒不出来 (6)烫手验证 性能 (1)使用最大次数或时间 (2)掉地上不易损坏 (3)盖子拧到什么程度水倒不出来 (4)保温时间长 (5)
使用文档中的以下示例: 如何创建并运行针对此迁移的测试,以确认数据已正确迁移?