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

在开发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. linux管道和tee命令

    ps -ef | grep docker 等价于 ps -ef &> >(grep docker) cat a.log | tee b.txt 等价于 cat a.log & ...

  2. 封装原生JavaScript的ajax

    function obj2str(data) { data = data || {}; // 如果没有传参, 为了添加随机因子,必须自己创建一个对象 data.t = new Date().getTi ...

  3. Jmeter设置中文汉化

    下载汉化包logkit-2.0.jar 将汉化包copy至 jmeter文件的lib目录下 打开Jmeter软件,设置汉化包 Options  ->  ChooseLanguage  -> ...

  4. 关于HTML和Css的一些总结

    HTML HTML特点与基本结构 HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言 (Hyper Text Markup Language). 超文本就是指页面内可以包含图片.链接 ...

  5. [转]SQLserver字符串分割函数

    一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果. CREATE function Get_StrArrayLength ( ) ...

  6. Linux时间设置命令

    1.date: 语法格式:date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=dates ...

  7. js构造函数+原型

    注:普通对象与函数对象 var o1 = {}; var o2 =new Object(); var o3 = new f1(); function f1(){}; var f2 = function ...

  8. Hackerrank--Ashton and String(后缀数组)

    题目链接 Ashton appeared for a job interview and is asked the following question. Arrange all the distin ...

  9. LINQ(语言集成查询)

    LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...

  10. DTD约束与schema约束的不同

    本篇笔记了解------Schema约束的语法 ------可以参考W3school之Schema教程. Schema:是基于 XML 的 DTD 替代者,用于描述XML文档结构.支持XML 命名空间 ...