为Jersey 2.19创建共享库以与Weblogic 12.1.3一起使用

Weblogic服务器带有一个共享库,因此您可以部署JAX-RS 2.0应用程序。 但是仅限于Jersey 2.5.1版,更改的说明并不完全清楚或直观 。 我最近加入了Oracle的新团队,我要做的第一件事就是着眼于升级依赖库。 现在我已经与泽西队进行了交谈,他们不支持这种组合。 但它可能足以使您摆脱困境,直到发布下一版Weblogic。

我将使用Maven进行此操作,因为这意味着所有打包和下载均已为您完成。 该项目的基本结构如下:

|-pom.xml
|-src
| |-main
| | |-java
| | |-resources
| | | |-META-INF
| | | | |-MANIFEST.MF
| | |-webapp
| | | |-WEB-INF
| | | | |-web.xml
| | | | |-weblogic.xml

我刚刚使用Netbeans生成了一个香草Maven项目,然后添加了我所需的Jersey依赖项,很可能可以确定地将此文件削减一些。 但这对我来说足够好:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>JerseyLibrary</artifactId><version>2.9</version><packaging>war</packaging><name>Jersey Library</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><jersey.version>2.19</jersey.version></properties><dependencies><dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-servlet</artifactId><version>${jersey.version}</version><scope>compile</scope></dependency><dependency><groupId>org.glassfish.jersey.core</groupId><artifactId>jersey-client</artifactId><version>${jersey.version}</version></dependency><dependency><groupId>org.glassfish.jersey.media</groupId><artifactId>jersey-media-multipart</artifactId><version>${jersey.version}</version><type>jar</type></dependency><dependency><groupId>org.glassfish.jersey.media</groupId><artifactId>jersey-media-moxy</artifactId><version>${jersey.version}</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.3</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml><archive><manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile></archive></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.6</version><executions><execution><phase>validate</phase><goals><goal>copy</goal></goals><configuration><outputDirectory>${endorsed.dir}</outputDirectory><silent>true</silent><artifactItems><artifactItem><groupId>javax</groupId><artifactId>javaee-endorsed-api</artifactId><version>7.0</version><type>jar</type></artifactItem></artifactItems></configuration></execution></executions></plugin></plugins></build></project>

MANIFEST.MF文件中的下一个最重要的文件,它告诉Weblogic当您尝试部署.war时,这是一个库,还包含它提供的版本:

Specification-Title: Weblogic JAX-RS 2.0
Specification-Version: 2.0
Implementation-Title: Weblogic JAX-RS 2.0 Reference Implementation
Implementation-Version: 2.19
Extension-Name: jax-rs

最后,您必须包含一个weblogic.xml文件来告诉服务器您需要从此处获取某些类,而不是服务器类加载器。 我从12.1.3附带的2.5.1共享库附带的文件中获得了这一基础,然后添加了几行以考虑代码的前进方式。 根据您的代码在做什么,您可能必须再添加一些。

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-appxmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"><container-descriptor><prefer-application-packages><!-- apis --><package-name>javax.ws.rs.*</package-name><!-- guava --><package-name>com.google.common.*</package-name><!-- jersey providers --><package-name>com.sun.jersey.*</package-name><package-name>org.glassfish.jersey.*</package-name><package-name>jersey.repackaged.*</package-name><!-- hk2 --><package-name>org.jvnet.hk2.*</package-name><package-name>org.jvnet.hk2.tiger_types.*</package-name><package-name>org.glassfish.hk2.*</package-name><package-name>javassist.*</package-name><!-- media providers --><package-name>org.eclipse.persistence.jaxb.rs.*</package-name><package-name>org.codehaus.jackson.jaxrs.*</package-name><!-- wls --><package-name>weblogic.jaxrs.api.client.*</package-name><package-name>weblogic.jaxrs.internal.api.client.*</package-name><package-name>weblogic.jaxrs.dispatch.*</package-name><package-name>weblogic.jaxrs.monitoring.util.*</package-name></prefer-application-packages></container-descriptor>
</weblogic-web-app>

现在,所有这些都需要快速mvn install并且在目标目录中将有一个很好的完整共享库,名为JerseyLibrary-2.9.war,您可以按常规方式进行部署。 当然,请记住要更新.war的库条目,该库依赖于此条目以具有正确的版本,因此它确实会选择2.5.1版本。

翻译自: https://www.javacodegeeks.com/2015/08/creating-a-shared-library-for-jersey-2-19-to-use-with-weblogic-12-1-3.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键反编译Android包教程

功能介绍 某些时候我们想修改apk包内容&#xff0c;比如汉化某个游戏&#xff0c;这时候就需要修改游戏apk的包内容&#xff0c;并重新签名成安卓手机识别的apk文件&#xff0c;下面详细介绍&#xff0c;文章末尾有一键修改工具。&#xff08;注意&#xff1a;此工具尚未整合修…

发现一个可视化大屏操作神器FBI,你值得一试

FineBI 是帆软软件有限公司推出的一款商业智能(Business Intelligence)产品。 FineBI 自助分析以业务需求为方向,通过便携的数据处理和管控,提供自由的探索分析。 FineBI 定位于自助大数据分析的 BI 工具,能够帮助企业的业务人员和数据分析师,开展以问题导向的探索式…

贝叶斯决策

参考文献&#xff1a;http://wenku.baidu.com/link?urlbCWUt2SDACsX6CXndtF8uEeYRo9r33hDVTaDORFcd8sAWbL4hYqmjDeyn5RfyYZ3VjzbnQvLVrNoBapp617_kmTCCKlDV4K_1E4-nTenauO 1&#xff09;Neyman-Pearson 准则 2&#xff09;最小错误率准则 3&#xff09;贝叶斯风险最小准则 4&a…

使用java发送电子邮件_使用Java发送电子邮件

使用java发送电子邮件我开始使用Java作为简单的“如何发送电子邮件”来撰写这篇文章&#xff0c;但是后来我发现我需要简要解释更多事情。 因此&#xff0c;这是有关使用Java发送电子邮件的所有摘要。 在Java SE平台之外&#xff08;但包含在JavaEE中&#xff09;&#xff0c; …

uniapp去掉右侧滚动条的解决办法?

用 uniapp 开发小程序,内容多的情况下,在微信开发者工具和真机调试下,右侧出现滚动条,有没有办法隐藏滚动条? 参考文档:https://uniapp.dcloud.net.cn/collocation/pages?id=app-plus 解决办法一: 参考文档:https://uniapp.dcloud.net.cn/collocation/pages?id=app-plus…

内网渗透工具CobaltStrike使用教程详解

文章目录 前言一、CobaltStrike本次实验环境 二、CobaltStrike详细使用1.启动CobaltStrike2.客户端连接团队服务端3.配置监听器4.生成木马5.权限提升&#xff0c;命令执行以及内网横线穿透等。6.插件加载7.命令执行等操作8.目标信息总结表&#xff08;自动记忆保存&#xff09…

日志长度_Kafka 日志存储详解

点击上方“Java知音”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;作者&#xff1a;爱宝贝丶my.oschina.net/zhangxufeng/blog/3114166本文主要介绍kafka中日志的存储原理&#xff0c;主要内容包括kafka日志存储格式、日志文件的管理方式、日志索引文件的格…

怎样理解阻塞非阻塞与同步异步的区别?

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接&#xff1a;http://www.linuxidc.com/Linux/2015-07/120338.htm “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解&#xff0c;提供一个从分布式系统角度的回答。 1.同步与异步同…

【算法图解|1】js 实现一个函数,完成超过范围的两个大整数相加功能

这个问题中的两个数字&#xff0c;都是超出范围的&#xff0c;所以就不能简单的把两个数字&#xff0c;转为Number类型&#xff0c;进行相加。 需要取两个数字的每一位&#xff0c;进行相加&#xff0c;大于10&#xff0c;就进1&#xff0c;把结果保存在一个字符串中。 主要思路…

Apache Spark:更改架构之前必须解决的5个陷阱

迁移到Apache Spark之前需要了解的5件事 似乎每个人都只是在谈论最热门的新技术&#xff0c;而忽略采用它的真正含义。 但这是自然的&#xff0c;对吧&#xff1f; 新功能和承诺胜过其他一切&#xff0c;而艰巨的挑战和决​​定被抛在一边。 这次不行。 软件架构很难&#xf…

git config配置文件

设置 git status的颜色。 git config --global color.status auto 一.Git已经在你的系统中了&#xff0c;你会做一些事情来客户化你的Git环境。你只需要做这些设置一次&#xff1b;即使你升级了&#xff0c;他们也会绑定到你的环境中。你也可以在任何时刻通过运行命令来重新更改…

双清模式无命令_linux性能监控:IO性能监控命令之iotop命令

内存监控命令之iotop命令1概述&#xff1a;iotop命令 是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI&#xff0c;其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat&#xff0c;nmon等大多数是只能统计到per设备的读写情况&#xff0…

【算法图解|2】JavaScript 如何实现数组扁平化

数组的扁平化&#xff0c;就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。 举个例子&#xff0c;假设有个名为 flatten 的函数可以做到数组扁平化&#xff0c; var arr [1, [2, [3, 4]]]; console.log(flatten(arr)) // [1, 2, 3, 4] 我们最一开始…

质问微软 WP8.1开发HTTPS 真费劲

本人用C#多年,WPF2年,一直想做点应用为WP生态贡献一点力量,最近终于有机会接触了 家里的本子是2年前的低压I3,不支持虚拟化,一直没有真机.最近同事妈妈换下来一个820给我拿来做开发用,非常感谢!!! 作为C#开发,一直被其他语言看不起,我想你们中的很多人遇到这个问题的不在少数,但…

多生产者_通知:生产者补贴!打卡时间!定了

【生产者补贴&#xff01;打卡时间定了&#xff01;9月30日前&#xff01;】老道说&#xff1a;这几天吉林和黑龙江陆续下发了2020年玉米、大豆生产者补贴实施工作方案&#xff01;连日来关于生产者补贴方面的消息&#xff0c;也算是逐渐浮出水面&#xff01;根据黑龙江地区的方…

vaadin_Vaadin附加组件和Maven

vaadin介绍 我喜欢Vaadin的 &#xff08;其中很多&#xff09;一件事是它对Vaadin框架的“附加组件”社区-他们称之为Vaadin目录 。 “附加组件”是社区对框架的附加组件&#xff0c;可以是任何东西&#xff0c;例如从新的客户端小部件到数据表的延迟加载容器。 我一定会为Acti…

【算法图解|3】JavaScript 如何实现数组去重

数组去重方法老生常谈&#xff0c;既然是常谈&#xff0c;我也来谈谈。 也许我们首先想到的是使用 indexOf 来循环判断一遍&#xff0c;但在这个方法之前&#xff0c;让我们先看看最原始的方法&#xff1a; var array [1, 1, 1, 1];function unique(array) {// res用来存储结…

angular 数字逗号分隔_angular 实现的输入框数字千分位及保留几位小数点功能示例...

摘要&#xff1a;这篇AngularJS栏目下的“angular 实现的输入框数字千分位及保留几位小数点功能示例”&#xff0c;介绍的技术点是“angular、保留几位小数、千分位、小数点、输入框、示例”&#xff0c;希望对大家开发技术学习和问题解决有帮助。本文实例讲述了angular 实现的…

单页应用程序的Spring Boot静态Web资源处理

诸如gulp和grunt之类的Javascript构建工具确实让我大吃一惊&#xff0c;我看着这些工具的构建脚本之一&#xff0c;发现很难理解它&#xff0c;无法想象从头开始编写其中一个构建脚本。 这就是yeoman出现的地方&#xff0c;它是一种非常方便的工具&#xff0c;它可以使用无数种…

Beta版本冲刺第二天

队伍CleanCode 031302505 黄晓辉031302223 翁瀚帅031302511 林培兴031302632 张衍坤031302536 苏丽玲一.完成的情况&#xff1a; 继续熟悉了github的使用&#xff0c;开始配置Tomcat服务器环境&#xff0c;增加了号码百事通的号码和游玩福州的一些资料&#xff0c;想要改进α版…