发现遇到这个问题的人挺多的,现在跟新一下好好写。

在开发Liferay的时候,我们常常会遇到Unresolved requirement: Import-Package: {package name}问题

出现这个问题原因是什么呢?

因为我们的module依赖了第三方Jar包,虽然gradle帮你解决了这个依赖问题,让你的代码编译通过了,但是当你把这个Module部署到Liferay Portal(可以理解为一个OSGi容器)上去的时候,

这个容器中并没有包含你所需要的jar包,所以就会报错。我们需要做的是把你所依赖的jar包打包到这个容器中去。

把你需要使用的依赖作用域改成 compileInclude 即可, 它会帮你把你需要的第三方jar包及其传递依赖都打包到这个module中去。

以下是关于解决这类问题的教程链接:

https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/adding-third-party-libraries-to-a-module

https://issues.liferay.com/browse/LPS-76436

https://web.liferay.com/zh/web/zhao.jin/blog/-/blogs/%E8%AF%91%E6%96%87%EF%BC%9Aosgi-module%E4%BE%9D%E8%B5%96

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包依赖问题的更多相关文章

  1. 在maven项目中解决第三方jar包依赖的问题

    在maven项目中,对于那些在maven仓库中不存在的第三方jar,依赖解决通常有如下解决方法: 方法1:直接将jar包拷贝到项目指定目录下,然后在pom文件中指定依赖类型为system,如: < ...

  2. Android Studio导入第三方jar包或依赖工程的方法

    Android Studio导入第三方jar包或依赖工程的方法   一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...

  3. eclipse导出java项目jar包(依赖第三方jar包)

    一.在项目根目录下建一个文件:MANIFEST.MF 内容: Manifest-Version: 1.0 Class-Path: lib/commons-compress-1.9.jar lib/co ...

  4. 如何查看Maven项目中的jar包依赖树情况

    对于开发人员,我想大家对于Maven应该不会陌生吧,如何在一个Maven项目中对这个项目中所引用的第三方jar包有个直观的了解呢? 其实实现很简单,只需要借助于Maven的一条命令,如下所示: mvn ...

  5. 使用Sonatype Nexus搭建Maven私服后如何添加第三方JAR包?

    Sonatype Nexus简介 登录Nexus后,点击右侧的“Repositories”,显示当前Nexus所管理的Repository: 默认情况下Nexus为我们创建了以下主要的Reposito ...

  6. Hadoop MapReduce程序中解决第三方jar包问题方案

    hadoop怎样提交多个第三方jar包? 方案1:把所有的第三方jar和自己的class打成一个大的jar包,这种方案显然笨拙,而且更新升级比较繁琐. 方案2: 在你的project里面建立一个lib ...

  7. 不借助第三方jar包实现文件上传

    假设实现文件上传难道非要借助第三方jar包(最经常使用的莫过于apache的commons-fileupload工具包)来实现吗?答案是否定的.以下通过样例演示在不借助第三方jar包的前提下怎样实现文 ...

  8. 如何解决ADT17下Android第三方jar包NoClassDefFoundError的错误

    转自:http://blog.csdn.net/huzgd/article/details/7604069本人已试过第二种解决方法可行!! 原文:Posted by Foxykeep on 22/03 ...

  9. maven 将第三方jar包转成maven的jar包

    转载:https://blog.csdn.net/qq_40644583/article/details/81475135 1.首先你需要准备外部jar包 我的这个jar包现在以及下载解压到桌面 地址 ...

随机推荐

  1. MySQL的高可用实现方案之mysql-mmm

    一.环境简述 1.工作逻辑图 2.MySQL-MMM优缺点 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性. 缺点:Monitor节点是 ...

  2. C++星号的含义

    [转载] [http://blog.sina.com.cn/s/blog_4a50d85b0100uk3c.html]   1.乘法运算符   2.定义指针 int *p = 0; 还是 int* p ...

  3. go 交叉编译扩展 ac68u 梅林固件, go 依赖 zoneinfo 的解决问题

    CGO_ENABLED= GOOS=linux GOARCH=arm GOARM= go build ddns.go r8500 虽然是 ARMv7 , 但应该是被阉割过,不支持 ARMv7 的一些特 ...

  4. Android Studio增加assets目录、raw目录

    assets与res/raw不同 assets目录是Android的一种特殊目录,用于放置APP所需的固定文件,且该文件被打包到APK中时,不会被编码到二进制文件. Android还存在一种放置在re ...

  5. js笔试-接收get请求参数

    请编写一个JavaScript函数,它的用途是接收url中get请求的参数,并返回为对象, 如: var url = “https://i.cnblogs.com/EditPosts.aspx?opt ...

  6. 引爆潮流技术 Vue+Django REST framework打造生鲜电商项目

    引爆潮流技术Vue+Django REST framework打造生鲜电商项目 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受, ...

  7. Linux下ps -ef和ps aux的区别及格式详解-转

    原文:https://www.linuxidc.com/Linux/2016-07/133515.htm Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区 ...

  8. 安装配置flask环境

    安装 Flask 好的,让我们开始吧! 现在我们必须开始安装 Flask 以及一些我们会用到的扩展.我首选的方式就是创建一个虚拟环境,这个环境能够安装所有的东西,而你的主 Python 不会受到影响. ...

  9. springmvc:自定义类型转换器代码编写

    字符串转换日期: 1.自定义一个类 /** * 字符串转换日期 */ public class StringToDateConverter implements Converter<String ...

  10. [BZOJ2729]排队

    数学知识 排列  A(n,m)从n个元素中选出m个的不同的排列数  A(n,m)=n!/(n-m)! 组合  C(n,m)从n个元素中选出m个的不同的方案数  C(n,m)=n!/(m!*(n-m)! ...