java - Maven 原型(prototype)的速度反射 : get data from Json

标签 java apache maven velocity maven-archetype

我想从 json 文件获取数据以在 maven-archetype 中构建一个类。我试图用速度反射来做到这一点,但我只能使用 java SE 类。我尝试添加对原型(prototype) pom 的依赖项,但速度无法读取该依赖项。如何将其他类(如 JsonTool)放入 mvn 原型(prototype)的速度上下文中?

这是我尝试过的:

#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]**

最佳答案

检查您的依赖项和版本。

您使用的是哪个版本的velocity-engine-core 和velocity-tools-generic? 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>

关于java - Maven 原型(prototype)的速度反射 : get data from Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56305275/

相关文章:

java - Jackson + Hibernate = 很多问题

java - 通过 Java 中的另一个函数传递字典值时通过引用更新字典值

java - 寻找合适的无限强度文件

apache - 用于网络托管的端口转发

maven - 使用Maven将第三方软件包上传到我自己的Maven存储库服务器中

maven - PrimeFaces 条码不起作用?

java - 在整个应用程序中使用常量

php - 在 PHP 安装上启用 Mcrypt

apache - 一个ant目标可以扩展多个扩展点吗?

java - 启动并配置 WildFly 服务器,并在 1 个 Maven 运行中使用 wildfly-maven-plugin 部署应用程序