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包现在以及下载解压到桌面 地址 ...
随机推荐
- Cyclic GCDs
Cyclic GCDs 题目链接 题面描述 有\(n\)个点,每个点有权值. 现有排列\(P\),\(p_i\)表示\(i\)个点向\(p_i\)连了一条边. 显然会形成若干个简单环.每个简单环的权值 ...
- Codeigniter 数据库操作事务情况下获取不到last_insert_id()
开发中,数据库Insert使用了事务,如果 $this->db->insert_id() 放在 $this->db->trans_complete(); 这句语句之后,$thi ...
- hdu1693 Eat the Trees [插头DP经典例题]
想当初,我听见大佬们谈起插头DP时,觉得插头DP是个神仙的东西. 某大佬:"考场见到插头DP,直接弃疗." 现在,我终于懂了他们为什么这么说了. 因为-- 插头DP很毒瘤! 为什么 ...
- vue 学习 一
1.实例: var vm = new Vue({ el: '#example', data: { a:1 }, created: function () { // `this` 指向 vm 实例 co ...
- spring cloud深入学习(八)-----配置中心svn示例和refresh
svn版本 同样先示例server端的代码,基本步骤一样. 1.添加依赖 <dependencies> <dependency> <groupId>org.spri ...
- hibernate4注解字段为mysql的text
文章的正文detail就需要设置为text 在getter方法上添加注解 @Lob @Basic(fetch = FetchType.LAZY) @Type(type = "text&quo ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。
遇到这个错误 数据库表结构定义为:varchar(50) 实际插入数据的字符长度超过了50,会引发这种错误. 如果你是debug调试的. 或许你在 getSession().flush(); 上报 ...
- 搭建maven聚合工程包含springboot模块
一.新建一个maven项目 二.删除src 打开pom.xml 补充标签 <packaging>pom</packaging> 新建 <module>brr- ...
- xshell下载免费版
正在使用的xshell 5不能使用,提示xshell 5评估期已过,重新安装还是不行.其实xshell 5有免费版的,即Home & school 版本.卸载原程序,下载安装免费版本的xshe ...
- Leetcode463.Island Perimeter岛屿的周长
给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...