java - Maven Archetypes 上的速度反射:从 Json 获取数据
问题描述
我想从 json 文件中获取数据以在 maven-archetype 中构建一个类。我正在尝试通过速度反射来做到这一点,但我只能使用 java SE 类。我试图将依赖项添加到原型 pom,但速度没有读取。我如何将其他类(如 JsonTool)放入 mvn 原型的速度上下文中?
这是我尝试过的:
#set($str = $package.getClass().forName("org.apache.velocity.tools.generic.JsonTool").newInstance());
在安装我有这个例外:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.0.1:integration-test (default-integration-test) on project:
[ERROR] **Archetype IT 'basic' failed: org.apache.maven.archetype.exception.ArchetypeGenerationFailure: Error merging velocity templates: Invocation of method 'forName' in class java.lang.Class threw exception java.lang.ClassNotFoundException: org.apache.velocity.tools.generic.JsonTool at archetype-resources/src/main/java/entity/__classname__Entity.java[line 6, column 33]**
解决方案
检查您的依赖项和版本。
您使用的是哪个版本的速度引擎核心和速度工具通用?JsonTool出现在velocity-tools-generic 3.0中,至少需要velocity-engine-core 2.0。
正确的依赖项部分应如下所示:
<dependency>
<groupId>org.apache.velocity.tools</groupId>
<artifactId>velicity-tools-generic</artifactId>
<version>3.0</version>
</dependency>
推荐阅读
- python - Docker 使用自定义 Python 映像记录延迟
- kotlin - 将 gson 与 kotlin.stdlib.Result 一起使用
- terraform - 下次apply如何有条件地创建terraform资源并停止删除
- python - 无法从 JSON 数据中的列表和嵌套列表中提取某些值
- r - 多项摘要输出到R中的数据框
- c# - 无法映射 ObservableCollection
到另一个使用 AutoMapper - javascript - Chrome 扩展程序仅在弹出窗口打开时有效
- mysql - 如何在微服务架构中存储 1:1 关系?
- xamarin.forms - Xamarin.Forms - 仅适用于 iOS 的 UIKit 一致性错误
- flutter - WidgetsFlutterBinding.ensureInitialized() 等效于平台/主机端