我试图使用@Asynchronous注释,但是当我尝试使用maven编译项目时出现错误:"找不到符号:class Asynchronous"出现。
作为依赖关系我添加了:
<dependency>
<groupId>org.jboss.ejb3.async</groupId>
<artifactId>jboss-ejb3-async-spi</artifactId>
<version>1.0.0-alpha-3</version>
</dependency>
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
你有一个想法,为什么maven没有找到异步类?
答案 0 :(得分:2)
只需移除<scope>provided</scope>
,然后再次尝试mvn clean install
。
provided
范围表示您希望JDK或容器在运行时提供依赖关系,并且仅在编译和测试类路径上可用。
此外,根据@Asynchronous
javadoc,注释是在版本3.1
中引入的,而您正在设置对EJB 3.0的依赖关系。 EJB 3.1是JavaEE 6的一部分,因此完整且正确的依赖关系定义将是:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>
更多信息: