Liferay 7 OSGi第三方jar包依赖问题
发现遇到这个问题的人挺多的,现在跟新一下好好写。
在开发Liferay的时候,我们常常会遇到Unresolved requirement: Import-Package: {package name}问题
出现这个问题原因是什么呢?
因为我们的module依赖了第三方Jar包,虽然gradle帮你解决了这个依赖问题,让你的代码编译通过了,但是当你把这个Module部署到Liferay Portal(可以理解为一个OSGi容器)上去的时候,
这个容器中并没有包含你所需要的jar包,所以就会报错。我们需要做的是把你所依赖的jar包打包到这个容器中去。
把你需要使用的依赖作用域改成 compileInclude 即可, 它会帮你把你需要的第三方jar包及其传递依赖都打包到这个module中去。
以下是关于解决这类问题的教程链接:
https://issues.liferay.com/browse/LPS-76436
https://web.liferay.com/web/user.26526/blog/-/blogs/osgi-module-dependencies
_____更新于2019/9/16
鉴于近期还有不少人咨询我这个问题,特此来更新这篇回答
现在Liferay使用Target Platform来解决这个问题,也就是你只需要在配置文件中指定你使用的是Liferay的哪个版本,后台会帮你下载好这个版本所需要的对应版本依赖包,不需要自己在gradle文件中配置依赖Jar包的版本。Liferay真真是很好的。
现附上Liferay官方Target Platform操作文档:https://portal.liferay.dev/docs/7-1/tutorials/-/knowledge_base/t/managing-the-target-platform-for-liferay-workspace
基本上所有的问题都能在官方文档中找到相应解答。官方文档中没有的,可以移步Liferay论坛,公司的员工都会查看论坛问题及提供相应解答。
论坛网址为:https://liferay.dev/forums/-/message_boards/category/243728
然后可以QQ上搜索Liferay相关的群,里面都是大佬
最后的最后,也可以联系本菜鸟QQ:516946908
希望遇到以上问题的开发人员都能成功解决,同时,解决不了的欢迎咨询。
Liferay 7 OSGi第三方jar包依赖问题的更多相关文章
- 在maven项目中解决第三方jar包依赖的问题
在maven项目中,对于那些在maven仓库中不存在的第三方jar,依赖解决通常有如下解决方法: 方法1:直接将jar包拷贝到项目指定目录下,然后在pom文件中指定依赖类型为system,如: < ...
- Android Studio导入第三方jar包或依赖工程的方法
Android Studio导入第三方jar包或依赖工程的方法 一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...
- eclipse导出java项目jar包(依赖第三方jar包)
一.在项目根目录下建一个文件:MANIFEST.MF 内容: Manifest-Version: 1.0 Class-Path: lib/commons-compress-1.9.jar lib/co ...
- 如何查看Maven项目中的jar包依赖树情况
对于开发人员,我想大家对于Maven应该不会陌生吧,如何在一个Maven项目中对这个项目中所引用的第三方jar包有个直观的了解呢? 其实实现很简单,只需要借助于Maven的一条命令,如下所示: mvn ...
- 使用Sonatype Nexus搭建Maven私服后如何添加第三方JAR包?
Sonatype Nexus简介 登录Nexus后,点击右侧的“Repositories”,显示当前Nexus所管理的Repository: 默认情况下Nexus为我们创建了以下主要的Reposito ...
- Hadoop MapReduce程序中解决第三方jar包问题方案
hadoop怎样提交多个第三方jar包? 方案1:把所有的第三方jar和自己的class打成一个大的jar包,这种方案显然笨拙,而且更新升级比较繁琐. 方案2: 在你的project里面建立一个lib ...
- 不借助第三方jar包实现文件上传
假设实现文件上传难道非要借助第三方jar包(最经常使用的莫过于apache的commons-fileupload工具包)来实现吗?答案是否定的.以下通过样例演示在不借助第三方jar包的前提下怎样实现文 ...
- 如何解决ADT17下Android第三方jar包NoClassDefFoundError的错误
转自:http://blog.csdn.net/huzgd/article/details/7604069本人已试过第二种解决方法可行!! 原文:Posted by Foxykeep on 22/03 ...
- maven 将第三方jar包转成maven的jar包
转载:https://blog.csdn.net/qq_40644583/article/details/81475135 1.首先你需要准备外部jar包 我的这个jar包现在以及下载解压到桌面 地址 ...
随机推荐
- MySQL的高可用实现方案之mysql-mmm
一.环境简述 1.工作逻辑图 2.MySQL-MMM优缺点 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性. 缺点:Monitor节点是 ...
- C++星号的含义
[转载] [http://blog.sina.com.cn/s/blog_4a50d85b0100uk3c.html] 1.乘法运算符 2.定义指针 int *p = 0; 还是 int* p ...
- go 交叉编译扩展 ac68u 梅林固件, go 依赖 zoneinfo 的解决问题
CGO_ENABLED= GOOS=linux GOARCH=arm GOARM= go build ddns.go r8500 虽然是 ARMv7 , 但应该是被阉割过,不支持 ARMv7 的一些特 ...
- Android Studio增加assets目录、raw目录
assets与res/raw不同 assets目录是Android的一种特殊目录,用于放置APP所需的固定文件,且该文件被打包到APK中时,不会被编码到二进制文件. Android还存在一种放置在re ...
- js笔试-接收get请求参数
请编写一个JavaScript函数,它的用途是接收url中get请求的参数,并返回为对象, 如: var url = “https://i.cnblogs.com/EditPosts.aspx?opt ...
- 引爆潮流技术 Vue+Django REST framework打造生鲜电商项目
引爆潮流技术Vue+Django REST framework打造生鲜电商项目 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受, ...
- Linux下ps -ef和ps aux的区别及格式详解-转
原文:https://www.linuxidc.com/Linux/2016-07/133515.htm Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区 ...
- 安装配置flask环境
安装 Flask 好的,让我们开始吧! 现在我们必须开始安装 Flask 以及一些我们会用到的扩展.我首选的方式就是创建一个虚拟环境,这个环境能够安装所有的东西,而你的主 Python 不会受到影响. ...
- springmvc:自定义类型转换器代码编写
字符串转换日期: 1.自定义一个类 /** * 字符串转换日期 */ public class StringToDateConverter implements Converter<String ...
- [BZOJ2729]排队
数学知识 排列 A(n,m)从n个元素中选出m个的不同的排列数 A(n,m)=n!/(n-m)! 组合 C(n,m)从n个元素中选出m个的不同的方案数 C(n,m)=n!/(m!*(n-m)! ...