在Liferay7.0中创建 common 工程
来源:互联网 发布:医学专业英语翻译软件 编辑:程序博客网 时间:2024/06/08 08:22
1. maven 命令创建 2号 archetype (maven command : mvn archetype:generate -Dfilter=liferay)
关于使用 maven 创建 liferay 工程的详细步骤可查看: https://dev.liferay.com/zh/develop/tutorials/-/knowledge_base/7-0/generating-new-projects-using-archetypes
2. 在需要引用 common 工程的 pom 文件中,引入 common 工程(添加 common 工程的 dependency)
3. 修改 common 工程的 bnd.bnd文件,其中的 Export-Package :将指定的 package 导出到 jar 包。 用 ","分割,或者 .* 将所有 package 导出
关于该步骤的具体信息,可查看 https://dev.liferay.com/zh_CN/develop/tutorials/-/knowledge_base/7-0/modularizing-an-existing-portlet
可能遇到的问题:
当我们在 common 工程中引入 Liferay 外部的 jar包时,我们往往是直接在 pom.xml 文件中添加需要引用的 jar 包的依赖。此时项目能正常编译,并且使用 maven 也能正常 build ,但是当部署项目时,会出现类似这样的报错信息: (这里的 com.xxxx.portal.common 就是我创建的 common 工程)
FrameworkEvent ERROR org.osgi.framework.BundleException: Could not resolve module: com.xxxx.portal.common [675]_ Unresolved requirement: Import-Package: org.apache.http_ [Sanitized] at org.eclipse.osgi.container.Module.start(Module.java:429)。
解决该问题的方法: 打开 common 工程的 manifest.mf 文件(在打包 jar 文件时会生成在 target/classes/META-INF 目录下),在 Import-Package 中将提示错误导入的包删掉即可。 关于具体原因,可查看 http://www.howtobuildsoftware.com/index.php/how-do/DBC/eclipse-osgi-bundle-openhab-osgi-unresolved-requirement-import-package-compi4jiogpio
更新与:2017-7-4
使用上述方法,手动删除 manifest.mf 的文件内容,显然是不合理的,因为每一次重新 build 工程, manifest.mf 文件又会重新生成。
更好的解决办法是在 bnd.bnd 文件中过滤掉这些 package,那么每次生成 manifest.mf 文件的时候就不会导入这些包了,在 bnd.bnd 文件中加入如下语句:
Import-Package: !org.apache.http.*,*;
- 在Liferay7.0中创建 common 工程
- liferay7中osgi学习
- Liferay7.0自定义主题
- liferay7中自定义tag library
- liferay7中gradle项目问题
- 在VS6.0工程中创建系统状态栏图标显示?
- 在单文档工程中创建工具栏
- 如何在VS2008中创建DLL工程
- 在Eclipse中创建WEB工程
- 在Eclipse中创建WEB工程步骤
- 在Eclipse中创建WEB工程步骤
- 在Eclipse中创建WEB工程步骤
- 在myeclipse中创建maven工程
- 在eclipse中创建android工程
- 在工程中创建Podfile 文件
- 在Android Studio中创建Java工程
- 在eclispe中创建Maven web工程
- 在VS2015中创建一个Physx工程
- js的indexOf()方法的具体用法
- 原创:微信小程序java实现AES解密并获取unionId
- IOS Tableview使用xib自定义cell
- 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
- Ionic打包过程下载Gradle失败的解决方法
- 在Liferay7.0中创建 common 工程
- Android-------------将解析出来的数据存到数据库(主要是存到数据库)
- Redis基本类型和常用简单操作
- Bugly热更新简单集成
- shell教程
- 自动化测试用例规范
- Mariadb安装之后的各种设置
- Android-文件及字符流方式的语音保存播放功能
- AudioRecorder实时录制mp3格式音频