我在从一个maven自定义原型创建一个maven项目时遇到了一些问题。我有一个maven原型的预期目录结构,包括一个后生成的groovy脚本,我想在项目生成后立即在代理中创建一些Kafka主题。
原型项目的结构为:
/src/main/resources/archetype-resources/ DIRECTORY_STRUCTURE_FOR_MY_PROJECT
/META-INF----------------/maven/-archetype-metatada.xml
/archetype-post-generate.groovy
target/
pom.xml
我的pom.xml具有以下结构:
<project>
...
<packaging>maven-archetype</packaging>
...
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.2.1</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.2.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
</project>
如果我运行mvn clean install,它可以正常工作。原型被创建并存储在我的本地目录中。
然而,如果我试图从该原型创建一个新项目(使用mvn原型:生成并引入所有东西)。artifactId,archetypeArtifactId....),我遇到了这个:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate (default-cli) on project standalone-pom: startup failed:
[ERROR] Script1.groovy: 9: unable to resolve class org.apache.kafka.common.errors.TopicExistsException
[ERROR] @ line 9, column 1.
无法解析依赖项。我是否应该为此目的以另一种方式添加依赖项?对于后生成的groovy脚本有什么不同吗?是否无法向后生成脚本添加依赖项?如果我在IntelliJ IDE中使用“Run”运行脚本,它可以完美地在pom.xml中添加依赖项。我也试过把依赖项放在maven-archetype-plugin的标签中。它不工作。
我将感激每一个答案。
非常感谢!
1条答案
按热度按时间7uzetpgm1#
只需为每个依赖项添加@Grab(“groupId:artifactId:version”),并在每个@Grab符号下面导入,它就可以工作了。