java - 在 Maven 阶段进程资源期间运行代码
问题描述
我有一个 Spring 项目,我们在其中使用 Swagger 生成代码。但是,生成的代码存在问题(缺少导入,代码无法编译)。这是一个已知问题。理想情况下,我会解决这个问题,但我没有时间学习该项目的代码库。事实上,由于项目的性质,我可以提交生成的代码并手动修改它。但是,为了将来,我想学会更干净地做到这一点。
我的解决方案是通过 Maven 钩子修改生成的代码。我认为 maven 阶段process-resources
是一个很好的地方,因为 swagger 生成了代码,它还没有被编译。我尝试使用以下插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>fix-openapi-generated-classes</id>
<phase>process-resources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.company.package.hooks.FixOpenApiGeneratedClasses</mainClass>
</configuration>
</plugin>
但是,我收到错误消息,告诉我它没有找到我要调用的类。我通过测试不同的阶段验证了路径是正确的,而且确实如此。我认为这里的问题是该类尚不存在,因为它尚未编译。但是我不能等待编译阶段,因为我需要在编译之前修改源代码。
我应该如何在那个阶段使该课程可用?该类作为独立类工作,不需要任何其他类。
解决方案
推荐阅读
- bluestacks - 找不到错误 Bluestacks sidebar_config.json
- android - 使用数据绑定时,recyclerview 不显示任何内容
- sql - 我必须从due_dt列中获取月份和年份并将其作为sql中的输入传递
- javascript - 如何从同一全局级对象属性内的回调访问全局级对象?
- node.js - 快速回复 - Dialogflow 中的建议(使用 Fulfillment)
- amazon-web-services - 我可以在不公开存储桶或对象的情况下使用 https 从私有 S3 存储桶下载对象吗?
- php - 在 php 中带有 goofys 的 S3 中,如何使用 move_uploaded_file?
- react-native - 有没有办法强制卸载组件?
- jenkins - 在哪里放置 Jenkins 管道构建的环境变量(最佳实践)
- angular - Angular - 如何更改工作区名称?