Maven 项目模板 (Archetypes)
我们为 Maven 提供了几个项目模板,也称为原型。 它们支持使用 Camunda 平台开发可用于生产的流程应用程序的快速搭建。 我们将不同应用程序类型的最佳实践纳入模板,以帮助你从坚实的基础开始。
原型可用于生成不同使用部分中详述的项目。 如果你不能自己从 Archetype 生成项目,我们还为每个 Archetype 提供了一个模板 GitHub 存储库。
可用的 Maven 原型概述
当前提供了以下原型。 它们通过我们的 Maven 存储库分发: https://app.camunda.com/nexus/service/rest/repository/browse/camunda-bpm/
原型 | 描述 |
---|---|
Camunda Cockpit Plugin | Camunda Cockpit 插件,包含 REST-Backend、MyBatis 数据库查询、HTML 和 JavaScript 前端、用于一键部署的 Ant 构建脚本 |
Process Application (EJB, WAR) | 在 Java EE 容器中使用共享 Camunda 平台引擎的流程应用程序,例如 JBoss Wildfly。 包含:Camunda EJB 客户端、Camunda CDI 集成、BPMN 流程、Java 委托作为 CDI bean、基于 HTML5 和 JSF 的启动和任务表单, JPA (Hibernate) 配置、内存引擎和可视化过程测试覆盖的 JUnit 测试、JBoss AS7 和 Wildfly 的 Arquillian 测试、Maven 插件或 Ant 构建脚本,用于在 Eclipse 中一键部署 |
Process Application (Servlet, WAR) | 在 Servlet 容器中使用共享 Camunda Platform 引擎的流程应用程序,例如 Apache Tomcat。 包含:Servlet 流程应用程序、BPMN 流程、Java Delegate、基于 HTML5 的启动和任务表单、 使用内存引擎、Maven 插件或 Ant 构建脚本在 Eclipse 中进行一键部署的 JUnit 测试 |
Camunda Spring Boot Application | 使用 Camunda Spring Boot Starter 的应用程序。 包含:Spring Boot Process Application、Camunda Webapps、BPMN Process、Java Delegate、基于 HTML5 的启动和任务表单、 使用内存引擎进行 JUnit 测试,用于打包为可执行应用程序的 Maven 插件。 |
Camunda Spring Boot Application with Demo Users | 与 Spring Boot Application 原型相同,另外还创建了演示用户和组,以便轻松启动 Camunda Webapps(使用 demo/demo 登录)。 |
Process Engine Plugin | 流程引擎插件的示例。 包含:流程引擎插件、通过插件注册的 BPMN 解析监听器、添加到每个用户任务的任务监听器、使用内存引擎的 JUnit 测试。 |
模板代码仓库
我们为每个 Camunda Archetype 提供了一个模板存储库。 每个存储库都包含一个从一个特定模板生成的项目。 你可以在 GitHub 上找到整个列表。
随着 Archetypes 的每个新版本,我们也将使用新版本更新这些存储库。 这允许调查从一个 Camunda 版本到另一个版本的可能更新路径,还使你能够通过提取最新更改来简单地更新现有项目。
如果你的项目需要更多的灵活性和自定义,你可以使用下一节中详述的方法之一自行生成项目。
使用 Eclipse IDE
概括
- Add archetype catalog (Preferences -> Maven -> Archetypes -> Add Remote Catalog): https://app.camunda.com/nexus/content/repositories/camunda-bpm/
- Create Maven project from archetype (File -> New -> Project… -> Maven -> Maven Project)
详细说明
- Go to Preferences -> Maven -> Archetypes -> Add Remote Catalog
Enter the following URL and description, click on Verify… to test the connection and if that worked click on OK to save the catalog.
Catalog File: https://app.camunda.com/nexus/content/repositories/camunda-bpm/
Description: Camunda Platform
Now you should be able to use the archetypes when creating a new Maven project in Eclipse:
- Go to File -> New -> Project… and select Maven -> Maven Project
- Select a location for the project or just keep the default setting.
- Select the archetype from the catalog that you created before.
- Specify Maven coordinates and Camunda version and finish the project creation.
生成的项目应如下所示:
故障排除
有时在 Eclipse 中创建第一个 Maven 项目会失败。 如果你遇到这种情况,请再试一次。 大多数情况下,第二次尝试有效。 如果问题仍然存在,联系我们.
使用 IntelliJ IDEA
- On the “Welcome to IntelliJ IDEA” screen, click on “Configure” and select “Plugins” in the dropdown.
- In the plugins dialog, click on “Browse repositories…”.
- Search for the plugin “Maven Archetype Catalogs” and click on “Install”.
- Restart IntelliJ IDEA.
- On the “Welcome to IntelliJ IDEA” screen, click on “Configure” and select “Preferences” in the dropdown.
- In the preferences window, navigate to: “Build, Execution, Deployment > Build Tools > Maven Archetype Catalogs”.
- In the Maven Archetype Catalogs window, click on the “+” button, and in the opened “Add Archetype Catalog URL” modal window add the URL of the catalog file: https://app.camunda.com/nexus/content/repositories/camunda-bpm/archetype-catalog.xml.
- To create a Maven project from an archetype, click on the “Welcome to IntelliJ IDEA” screen on “Create New Project”.
- In the new project dialog, click on the left side on “Maven”, check “Create from archetype”
and select any
org.camunda.bpm.archetype
entry.
使用 Command Line
交互式生成
Run the following command in a terminal to generate a project. Maven will allow you to select an archetype and ask you for all parameters needed to configure it:
mvn archetype:generate -Dfilter=org.camunda.bpm.archetype:
自动化生成
The following command completely automates the project generation and can be used in shell scripts or Ant builds:
mvn archetype:generate
-DinteractiveMode=false
-DarchetypeGroupId=org.camunda.bpm.archetype
-DarchetypeArtifactId=camunda-archetype-ejb-war
-DarchetypeVersion=7.10.0
-DgroupId=org.example.camunda.bpm
-DartifactId=camunda-bpm-ejb-project
-Dversion=0.0.1-SNAPSHOT
-Dpackage=org.example.camunda.bpm.ejb
源代码和定制
You can also customize the project templates for your own technology stack. Just fork them on GitHub!