Отражение скорости на архетипах Maven: получить данные от Json - PullRequest
1 голос
/ 25 мая 2019

Я хотел бы получить данные из файла json для создания класса в архетипе maven. Я пытаюсь сделать это с отражением в скорости, но я могу использовать только 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]**

Спасибо и извините за мой плохой английский:)

1 Ответ

1 голос
/ 25 мая 2019

Проверьте ваши зависимости и ваши версии.

Какую версию generic speed-engine-core и speed-tools вы используете? JsonTool появился в speed-tools-generic 3.0, который требует как минимум speed-engine-core 2.0.

Правильный раздел зависимостей должен выглядеть следующим образом:

<dependency>
    <groupId>org.apache.velocity.tools</groupId>
    <artifactId>velicity-tools-generic</artifactId>
    <version>3.0</version>
</dependency>
...