我有一个非常简单的测试:
@RunWith(Arquillian.class)
public class SimpleTest
{
@Inject private SingleEntity singleEntity;
@Deployment
public static WebArchive createDeployment()
{
return ShrinkWrap.create(WebArchive.class)
.addClass(SingleEntity.class)
.addAsWebInfResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"));
}
@Test
public void categorize()
{
assertNotNull(this.singleEntity);
}
}
我只想注入类型为SingleEntity
的对象<代码>单一实体是一个单一的POJO:
public class SingleEntity
{
private String id;
private String description;
public SingleEntity(String id, String description) {
super();
this.id = id;
this.description = description;
}
//getters & setters
}
之后,我执行gradle测试
。为了让Arquillian在Wildfly嵌入式实例中执行这些测试,我已经配置了测试:
<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<container qualifier="jboss" default="true">
<configuration>
<!-- Supported property names: [managementPort, username, managementAddress, bundlePath, managementProtocol,
cleanServerBaseDir, jbossHome, password, modulePath] -->
<property name="jbossHome">C:\servers\wildfly-Test-8.2.0.Final</property>
<property name="modulePath">C:\servers\wildfly-Test-8.2.0.Final\modules\</property>
<!-- <property name="managementPort">8888</property> -->
</configuration>
</container>
</arquillian>
这很简单,但是,我收到一个异常,告诉我SingleEntity
无法解决:
原因:org。jboss。焊接例外。DeploymentException:WELD-001408:SingleEntity类型与限定符@Default的不满意依赖关系
注入私有com.jeusdi.arquillian.SimpleTest.single实体
在com上。杰乌迪。阿奎利安。简单测试。singleEntity(SimpleTest.java:0)
有什么想法吗?谢谢大家
通常,您不希望注入实体。JPA基于类名,CDI使用代理而不是具体的类。这会导致注入不同的类。
这是唯一的最佳实践。如果你继续前进,你可能还会遇到其他错误,但如果一切正常,你不应该出现这个错误。
您的实体没有定义bean的注释。如果您使用的是CDI 1.2(wildfly 8.2提供),以及您的bean。xml没有明确列出bean发现模式=all
,那么这个实体就不会被提取。
我有一个属性XML文件,如下所示: 我该怎么解决这个?
我在JBoss上部署我的Java应用程序时遇到了一个愚蠢的问题。在我使用接口类更改源代码之前,一切都很好。所以这是我的问题: ... 在JBoss 7.1上部署时会出现以下错误: 10:05:34838错误[org.jboss.msc.service.fail](msc服务线程1-6)MSC00001:无法启动服务jboss。部署。单元“mdk-exchange-1.1.0.战争”。WeldSer
我是CDI的新手。这是我的第一个例子,我正在尝试运行它。在互联网上搜索后,我编写了以下代码:我想要注入的类 servlet 我做错了什么?
我正在尝试使用cucumber框架与selenium和appium,但在执行cucumber特性时,我得到以下异常: @CucumberOptions(features={“src//test//java//feature”},glue={“pages”},plugin={“pretty”,“html:target/cucumber”},tags={“@web”,“@test”,“@appium”
我在时出错。我不明白为什么。 我的应用服务器:GlassFish 4.1.2 当我创建我的类时,服务器给出一个错误 当我@Inject我创建的类时,服务器给出了一个错误 我想把它注入另一个类,比如: UserService实现java类 Maven pom xml文件
我有bean,它实现了两个接口(远程和本地)。我还添加了注释,用于使用无接口视图访问bean。 我使用的原因取自JBoss AS7快速入门示例: > WeatherDataBean具有: 资源具有: