我的var json = [{
"name": "Value0",
"values": ["Sample0", "Sample1", "Sample2", "Sample3"]
}, {
"name": "Value1",
"values": ["Sample4", "Sample5", "Sample6", "Sample7"]
}
文件出了问题。我知道,关于这个问题有很多主题,但是其中任何一个都能解决我的问题。
pom.xml
在我的申请中,当我在@Path("/actors")
public class MainController {
@EJB
private ActorDaoLocal actorDao;
}
@Local
public interface ActorDaoLocal {
//some stuff here
}
@Stateless
public class ActorDao implements ActorDaoLocal {
@PersistenceContext
private EntityManager em ;
//some stuff here
}
@ManagedBean(name = "ActorBean")
@ApplicationScoped
public class ActorBean {
@EJB
private ActorDaoLocal usersDao;
}
中没有注释时如下:
ActorBean
在@ManagedBean(name = "ActorBean")
@ApplicationScoped
然而,当我为它添加此注释和依赖项时,我获得了例外:
MainController
我的java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:651)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
:
pom.xml
请帮我纠正一下,我在pom文件中找不到错误。
我在Tomcat 8工作
答案 0 :(得分:2)
您的类路径中有多个依赖项,其中包含javax.ws.rs.core.UriBuilder
,两个JAX-RS 1.1:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.18</version>
</dependency>
JAX-RS 2.0之一:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
由于JAX-RS 2.0来自Java EE 7,您可能需要将javaee-api
降级到版本6,使用如下:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>
其他方式是升级泽西版,就像在这个回答中一样:AbstractMethodError using UriBuilder on JAX-RS
在运行时UriBuilder#uri(String)被调用,因此您需要验证servlet容器中的依赖项。