来自Glassfish 4的泽西岛1.x

时间:2017-08-09 20:47:26

标签: java rest jersey glassfish

在提供和使用Jersey 1.x时,是否有一致的方法将Web应用程序部署到Glassfish 4?我似乎偶尔会做一次,但我无法一致地重现部署。

注意:

  1. 目前我们无法迁移到球衣2。
  2. 我们无法回到Glassfish 3.x,因为我们的安全团队已将其标记为威胁......他们通常会赢得这些争论。
  3. 从网络甚至是这里的几个主题我已经设法编制了一些"要做的事情"即使我找不到一个试图做这件事的例子(令人惊讶的是)

    我们使用maven并使用Jersey 1.17部署泽西jar文件,这些文件实际上使其成为战争文件如下:

    jersey-servlet-1.17.1.jar
    jersey-spring-1.17.1.jar
    jersey-server-1.17.1.jar
    jersey-apache-client-1.17.1.jar
    jersey-multipart-1.17.1.jar
    jersey-client-1.17.1.jar
    jersey-json-1.17.1.jar
    jersey-core-1.17.1.jar
    jsr311-api-1.1.1.jar

    当我们安装(通过maven)我通过

    -Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext

    到maven的安装..

    我们还使用glassfish-web.xml文件进行部署,我们将类加载器委托标志设置为" false"

    典型的部署例外:

    org.glassfish.jersey.server.ContainerException: java.lang.AbstractMethodError: javax.ws.rs.core.Response.

    这些是我从研究中收集到的一些技巧,他们肯定有所帮助,但我似乎仍然缺少一些东西。

    如果它设法部署我们经常得到:

    HTTP Status 500 - Internal Server Error
    ...
    java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;

    这两个都表明Glassfish仍在尝试使用JAX-RS 2.0

    也许有一些jar文件我们可以安全地从Glassfish安装中删除阻碍,也许在部署我们的war文件时我可以使用另一个步骤(或步骤)。

    只是好奇是否有人必须这样做或知道如何。

0 个答案:

没有答案