我遇到两个独立的问题,似乎与编译器没有处理注释有关
1)运行junit测试会抛出异常junit.framework.AssertionFailedError:在....中找不到测试。
即使我已经注释了测试方法并使用了junit 4.x
@Test
public void testTalker() throws Exception {
我正在使用ant来构建项目,但是使用相同的库在eclipse中构建项目会导致junit正常工作。
2)Jersery WebResource Builder(com.sun.jersey.api.client.WebResource.Builder)无法将传入的xml响应解析为适当的对象
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", namespace="http://software.com/api", propOrder = {
"credentials",...})
@XmlRootElement(name = "tsResponse",namespace="http://software.com/api")
public class TsResponse {
protected CredentialsType credentials;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "credentials",
namespace="http://software.com/api",
propOrder = { "site", "user" }
)
public class CredentialsType {
这个xml
<tsResponse xmlns="http://software.com/api"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://software.com/api http://software.com/api/api-2.0.xsd">
<credentials token="...">
<site id="..." />
<user id="..."/>
</credentials>
</tsResponse>
是此操作的响应
TsResponse resp = builder(rurl).post(TsResponse.class, req);
但是,生成的对象没有填充凭据对象。再次使用eclipse进行构建时也能正常工作。
这与注释有关还是红鲱鱼?