版本6.0.0
1.常规开发
1.1.系统要求
该项目的源代码是用java编写的。要编译它,您需要一个Java开发工具包(JDK)21。要运行结果的二进制文件,您需要一个Java运行时环境(JRE)21。所有其他所需的库都包含在OPCTCS分发版中,或者在从源代码构建库时自动下载。
1.2.可用工件和API兼容性
OPATCS项目通过 Marven 存储库,这样您就可以很容易地将它们与构建系统(如格拉德或马文)集成在一起。例如,在格拉德尔构建脚本中,可以使用类似于以下的东西来集成一个OPOTCS库:
<span style="color:rgba(0, 0, 0, 0.8)"><span style="background-color:#ffffff"><span style="background-color:#f7f7f8"><span style="color:rgba(0, 0, 0, 0.9)"><code>repositories {
mavenCentral()
}
dependencies {
compile group: 'org.opentcs', name: '${ARTIFACT}', version: '6.0.0'
}</code></span></span></span></span>
设置您实际上想要使用的OPINCS发布的版本编号,并选择适当的版本${ARTIFACT}
下表所列姓名:
艺术品名称 | 小版本之间的API兼容性 | 满意的 |
---|---|---|
| 是的 | 客户端和扩展的基本API。这是大多数开发人员可能想要使用的。 |
| 是的 | 在内核和客户端应用程序中用于注入依赖性的API接口和类。在定制这些应用程序的集成项目中需要这样做。添加了车辆驱动器实现等组件。 |
| 不 | 由OPECS组件使用的实用程序类的集合。 |
| 不 | 基于格式塔的基本API配置接口的实现。 |
| 不 | 提供WebAPI实现的内核扩展名。 |
| 不 | 提供RMI接口实现的内核扩展名。 |
| 不 | 提供统计收集实现的内核扩展名。 |
| 不 | 模型编辑器和操作台使用的基础数据结构和组件不需要第三方库。 |
| 不 | 由模型编辑器和操作台常用的类和组件组成的集合. |
| 不 | 操作台的负载发生器面板实现. |
| 不 | 资源分配小组为业务台执行。 |
| 不 | 统计小组的实施为业务服务台. |
| 不 | 业务台的默认主题实现. |
| 不 | 模拟虚拟车辆的非常基本的车辆驾驶员。 |
| 不 | 内核应用程序使用的策略的默认实现。 |
| 不 | 内核应用程序。 |
| 不 | 内核控制中心应用程序。 |
| 不 | 模型编辑器应用程序。 |
| 不 | 操作台应用程序。 |
请注意,只有基本的API库提供了一个文档化的API,而这些API的开发人员试图在小版本之间保持兼容。(对于这些图书馆, 语义版本控制 已经应用了。所有其他工件的内容都可以而且将会改变,而不管是否有任何兼容性问题,因此,如果您显式地将这些内容作为依赖项使用,并切换到另一个版本的OPATCS,您可能需要调整和重新编译您的代码。
1.3.第三方从属关系
内核和客户机应用程序依赖以下外部框架和库:
-
( https://www.slf4j.org/ ):一个简单的日志立面,以保持实际日志实现的可替换性。
-
谷歌盖斯( HTPS://全球信息网/谷歌/古斯 ):轻量级依赖注射架构。
-
格式塔( HTPS://JUT.com/格式塔-配置盘/格式塔 ):一个支持绑定接口的配置库。
-
谷歌番石榴( HTPS://通用网站/谷歌/番石榴 ):小型助手类及方法集。
内核应用程序还取决于下列库:
-
联合绘图机( https://jgrapht.org/ ):用于处理图表和在图表上使用算法的库。
-
火花( https://sparkjava.com/ ):创建网页应用的架构。
-
杰克逊( HTPS://吉图布网/快速数据处理系统/杰克逊 ):为Java对象提供JSON绑定。
模型编辑器和业务台应用程序有以下附加的依赖关系:
-
平手( HTPS://吉图布网/蓝台网/联合霍特拉夫 ):绘图图结构的框架(如驾驶课程模型)。
-
码头框架( https://www.docking-frames.org/ ):图形界面面板的对接与分离架构
对于自动测试,使用下列依赖项:
-
司法股( https://junit.org/ ):一个简单的单元测试架构。
-
莫基托( https://site.mockito.org/ ):创建模拟对象的框架。
-
汉克利斯( http://hamcrest.org/ ):可以用于测试的断言匹配器的框架。
构建应用程序时,将自动下载这些依赖关系的工件。
1.4.模块性和可扩展性
项目在很大程度上依赖于 古斯 用于组件的依赖性注入和接线,以及提供类似塞子的扩展机制。在注射API中,可以在包中找到相关的类org.opentcs.customizations
.例如,请参阅 定制和扩展内核应用程序 , 定制和扩展模型编辑器和业务台应用程序 和 定制和扩展控制中心应用程序 .
1.5. Logging
官方商品销售处使用的代码 SF4J 因为伐木。因此,实际的日志实现很容易通过替换各自应用程序类路径中的SLF4J绑定而被替换。内核和客户端应用程序带有SLF4J的绑定java.util.logging
默认的。有关如何更改实际日志实现的更多信息,例如。若要使用LO4J,请参阅SLF4J文档。
1.6.与业务中心的源代码合作
这些是根项目的主要任务,你需要知道如何开始:
-
build
:编译所有子项目的源代码。 -
release
*将系统的所有组成部分建立和包装到build/
. -
clean
清理其他任务所产生的一切。
若要处理您的国际开发组织中的源代码,请参阅国际开发组织关于格拉德集成的文档。没有关于任何具体的国际开发计划署的一般性建议。不过,请注意,OPATCS源代码包含了使用NETBean图形界面生成器创建的图形界面组件。如果您想编辑这些文件,您可能需要使用NETBean的IDI。
1.7.内核API
OPATCS提供了下列与内核交互的API:
-
内核的JavaAPI用于扩展内核应用程序以及通过RMI与其接口。看 内核的JavaAPI 关于细节。
-
用于通过http调用与内核接口的WebAPI。有关详细信息,请参阅作为业务流程中心分布的一部分的单独接口文档