Jersey客户端 - Manifest主要属性的签名文件摘要无效

时间:2016-06-06 17:27:53

标签: jax-rs jersey-client

我是JAX-RS的新手并试图弄清楚这里发生了什么: 我在Glassfish(Eclipse插件)上运行了一个简单的Hello World Jersey REST服务。我可以通过浏览器成功访问它。

现在,我想从Java类中调用它(所以我可以围绕它构建JUnit测试)但是我在buildGet()方法上得到了这个错误:

java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

除非我不知道发生了什么魔法,否则我不会将我的服务和/或客户端打包在任何jar中,因此它与我的应用程序jar签名无关。

  • 任何人都可以解释我做错了什么?
  • 为什么在buildGet()metod上触发异常而不是之前调用的任何方法?

我的主要人物:

package com.test;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;


public class HelloTest {

    public static void main(String[] args)
    {
        Client client = ClientBuilder.newClient();
        Response response = null;

        try {
            WebTarget webTarget = client.target("http://localhost:9595/Hello/api/ping");
            Invocation helloInvocation = webTarget.request().buildGet();

            response = helloInvocation.invoke();
        }
        catch (Throwable ex) {
            System.out.println(ex.getMessage());
        }
        finally {
            response.close();
        }
    }
}

我的服务:

package com.api;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("ping")
public class Hello 
{
    @GET
    @Produces(MediaType.TEXT_HTML)
    public String sayHtmlHello()
    {
        return "<html>" + "<title>" + "Hello" + "</title>"
            + "<body><h1>" + "Hello!!!" + "</body></h1>" + "</html>";
    }
}

1 个答案:

答案 0 :(得分:0)

经过一段时间的努力,似乎我的Maven配置存在问题,并且没有正确下载/构建某些依赖项。我重新启动了一个新项目,复制了我的源文件,一切都按预期开始工作。