配置依赖关系
在工程中使用外部模块需要配置它们的依赖关系。请查看模块的属性并将它们插入到构建系统(Gradle,Maven或Ant / Ivy)的依赖项中。您的构建系统会下载工程编译所需依赖项artifacts。
将模块指定为依赖项之前,您必须首先找到artifact属性。artifacts具有以下属性:
- Group ID:创作组织
- Artifact ID:名称/标识
- Version:发布版本号
本教程将向您展示如何确保您的工程具有正确的依赖关系:
寻找核心LIFERAY PORTAL ARTIFACTS
每个模块由一个jar
文件组成,该文件包含模块的OSGi元数据MANIFEST.MF
。您可以在此文件中找到Liferay Portal核心模块的artifact属性。清单还指定模块的artifact属性。例如,这两个OSGi头文件指定了模块的artifactID和版本:
此表列出了每个核心Liferay Portal Artifacts的Group ID,artifact ID,版本和来源:
File | Group ID | Artifact ID | Version | Origin |
---|---|---|---|---|
portal-kernel.jar | com.liferay.portal | com.liferay.portal.kernel | (see JAR’s MANIFEST.MF ) | Liferay Portal dependencies ZIP |
portal-impl.jar | com.liferay.portal | com.liferay.portal.impl | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
portal-test.jar | com.liferay.portal | com.liferay.portal.test | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
portal-test-integration.jar | com.liferay.portal | com.liferay.portal.test.integration | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
util-bridges.jar | com.liferay.portal | com.liferay.util.bridges | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
util-java.jar | com.liferay.portal | com.liferay.util.java | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
util-slf4j.jar | com.liferay.portal | com.liferay.util.slf4j | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
util-taglibs.jar | com.liferay.portal | com.liferay.util.taglib | (see JAR’s MANIFEST.MF ) | Liferay Portal .war |
com.liferay.* JAR files | com.liferay | (see JAR’s MANIFEST.MF ) | (see JAR’s MANIFEST.MF ) | Liferay Portal dependencies ZIP and the OSGi ZIP |
接下来,您将学习如何为Liferay Portal应用程序和独立模块找到artifacts。
寻找LIFERAY门户应用程序和独立ARTIFACTS
组成Liferay Portal应用程序的模块不是Liferay Portal核心部分。但是,如果要声明它们的相关性,您仍然必须找到它们的artifact属性。下面的资源为Liferay Portal的应用程序和独立模块提供了artifact细节:
资源 | 工件类型 |
---|---|
应用管理器 | 部署模块 |
参考文档 | Liferay Portal模块(每个版本) |
Maven中心 | 所有工件类型:Liferay Portal和第三方,模块和非模块 |
重要提示:com.liferay
是所有Liferay Portal应用程序和独立模块的Group ID。
应用程序管理器是部署模块信息的最佳来源。接下来你会了解它。
Liferay Portal的应用程序管理器
App Manager知道你在Liferay Portal服务器上部署了什么。您可以使用它来查找所需的任何模块。
按照以下步骤获取已部署的模块信息:
- 在Liferay Portal中,导航到Control Panel → Apps → App Manager。
- 通过display name,symbolic name或相关关键字搜索模块。您还可以在其应用程序或应用程序套件中浏览模块。无论是浏览还是搜索,App Manager都会显示模块的artifact ID和版本号。
图1:您可以检查部署的模块artifact ID和版本号。
图2:App Manager汇总了Liferay和独立模块。
如果您不知道已部署的模块名称,请使用Felix Gogo Shell来查找它:
- 通过在命令提示符中输入以下内容打开Gogo Shell会话:
这会导致
g!
:Felix Gogo Shell命令提示符。 - 通过display name(例如,
Liferay Bookmarks API
)或关键字搜索模块。在结果中,记下模块的编号。您可以在下一步中使用它。例如,这些结果显示Liferay Bookmarks API模块的编号为52
: - 列出模块的manifest headers,请将模块编号传递给
headers
命令。在结果中,请注意以下Bundle-Vendor
值:您将在稍后的步骤中将其与artifact group进行匹配: - 断开Gogo Shell会话:
- 在Maven Central上,通过artifact ID搜索模块。
- 通过将第3步中的Bundle-Vendor值与artifac Group相匹配,确定Group ID。
接下来,您将学习如何使用Liferay Portal的参考文档来查找Liferay Portal应用程序模块的属性。
参考文档
Liferay Portal的应用程序Javadoc列出了每个模块的artifact ID,版本号和display name。这是查找尚未部署到Liferay Portal实例的Liferay Portal模块的最佳位置。
按照以下步骤在Javadoc中查找Liferay Portal应用程序模块的属性:
- 导航到Javadoc找到应用模块类。如果您没有链接到该类的Javadoc,请通过浏览https://docs.liferay.com/ce/apps来找到它。
- 复制Class的包名称。
- 导航到Overview page。
- 在Overview页面上,搜索您在步骤2中复制的软件包名称。
包名称上方的标题显示模块的artifact ID,版本号和display name。请记住,所有应用模块的组ID是com.liferay
。
图3:Liferay Portal应用程序Javadoc概述列出了每个模块的display name,后面跟着一个以冒号分隔的字符串中的Group ID,artifact ID和版本号。这是一个Gradle artifact语法。
注意:模块版本号目前不包含在任何标签库参考文档中。
接下来,您将学习如何在Maven Central上查找Liferay和非Liferay artifacts。
Maven中心
大多数artifacts,无论类型或来源,都在Maven Central上。使用如下步骤在Maven Central上找到artifacts:
- 通过https://search.maven.org/访问Maven Central 。
- 搜索artifacts。搜索结果列出了每个artifact的属性。
提示:在Maven Central上查找artifacts的最佳方法是搜索其中一个Java包。例如,要查找包含该类的工件org.osgi.service.component.annotations.Component
,请搜索该包org.osgi.service.component.annotations
。
图4:您可以在Maven Central上搜索artifacts。
既然您拥有您的artifact的属性值,您就可以配置它的依赖关系。
配置依赖关系
指定依赖来构建系统非常简单。编辑工程的构建文件,指定包含Group ID,artifact ID和版本号的依赖项。
注:要在模块中配置第三方库,请参阅教程将第三方库添加到模块。
请注意,不同的构建系统使用不同的artifact 属性名称,如下所示:
artifact术语
Framework | Group ID | Artifact ID | Version |
---|---|---|---|
Gradle | group | name | version |
Maven | groupId | artifactId | version |
Ivy | org | name | rev |
以下示例演示了为Gradle,Maven和Ivy配置对Liferay的Journal API模块的依赖关系。
Gradle
以下是在build.gradle
文件中配置的依赖关系:
Maven
以下是在pom.xml
文件中配置的依赖关系:
Ivy
以下是在ivy.xml
文件中配置的依赖关系:
相关话题
Adding Third Party Libraries to a Module
Third Party Packages Portal Exports