我有一个要与Arquillian一起测试的EAR文件。
在测试期间,我陷入了由Stream异常引起的依赖注入问题...
java.io.StreamCorruptedException: invalid stream header: 3C3F786D
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:857)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.execute(ServletMethodExecutor.java:194)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor$1.run(ServletMethodExecutor.java:250)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
我正在使用14.0.1的飞行通道进行测试,耳朵似乎能很好地部署。
代码如下:
@RunWith(Arquillian.class)
public class ArquillianTest {
@PersistenceContext(unitName = "PU")
EntityManager em;
@Deployment
public static EnterpriseArchive createDeployment() {
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File(EAR_PATH));
WebArchive war = ear.getAsType(WebArchive.class, WAR_NAME);
war.addClass(MyTestClass.class);
ear.addAsModule(war);
return ear;
}
@Test
public void init() throws Exception {
Assert.assertTrue(true);
}
}
返回XML而不是二进制。有谁知道如何避免这种情况?