通过在 Maven 中运行项目的 java 类来生成源

2023-12-23

我正在将一个较大的 Ant 构建转换为 Maven。作为 Ant 构建的一部分,我们有几个步骤通过调用项目的类之一来创建 Java 类,简化为:

javac SomeGenerator.java
java  SomeGenerator  generated # generate classes in generated/
javac generated/*.java

我已将每个生成器拆分到其自己的 Maven 模块中,但我遇到了无法运行生成器的问题,因为它尚未在 Maven 模块中编译。generate-sources phase.

我尝试过类似的东西

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1.1</version>
            <executions>
                <execution>
                    <id>generate-model</id>
                    <goals>
                        <goal>java</goal>
                    </goals>
                    <phase>generate-sources</phase>

                    <configuration>
                        <mainClass>DTOGenerator</mainClass>
                        <arguments>
                            <argument>${model.generated.dir}</argument>
                        </arguments>
                    </configuration>
                </execution>
            </executions>
        </plugin>

遗憾的是,由于上述原因,这不起作用。将代码生成器分成两个项目,一个用于编译生成器,另一个用于生成 DTO 似乎有些过分了。

还有哪些替代方案?


使用 Maven 2.2.1。


您可以在generate-sources阶段执行maven-compile-plugin。只需在现有执行之前添加另一个执行并配置它,以便它只获取生成器的源。

或者将项目一分为二:使用单独的 POM 构建生成器,并将生成器库作为生成源的 POM 的依赖项包含在内。

就我个人而言,我会拆分该项目。保持构建文件更干净且更易于维护。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过在 Maven 中运行项目的 java 类来生成源 的相关文章

随机推荐

  • 如何在 Recharts 中为 YAxis 创建自定义垂直标签,该标签将缩放以适应标签太长的情况?

    我正在使用 Recharts 库和一些垂直标签构建一些组合图表YAxis太长并且被切断 我的标签被剪掉的照片 https i stack imgur com FUwrl png 我尝试使用自定义标签
  • “分支与起源是最新的”但实际上不是

    该消息是否有点误导 当结帐分支时 例如 b535 git 这样做并说 您的分支已更新为 origin b535 这听起来就像我当地分行的情况b535已是最新 git checkout b535 Previous HEAD position
  • 日期选择器的多个实例

    我如何能够使用日期选择器的多个实例 一个日期选择器正在工作 但日期选择器的下一个实例正在调用相同的弹出窗口 如何继续 任何人都可以给我您的电子邮件 ID 我会将整个代码邮寄给您 然后您将能够以更好的方式了解整个想法 http jsfiddl
  • Sequelize '自 v4.0.0 起需要显式提供方言'

    我需要在 node js 环境中运行第三方应用程序 但 Sequelize 抛出 自 v4 0 0 起需要显式提供方言 我在这里找到了类似的主题自 v4 0 0 起需要显式提供方言 https stackoverflow com quest
  • 打开活动而不显示 UIActivityViewController

    我希望能够在滚动视图中包含社交图标 当单击该图标时 其功能与我在呈现 UIActivityViewController 后单击它们时的功能相同 我不想呈现 UIActivityViewController 我知道这是不可能的 但是一个名为
  • CATransaction:图层更改但不动画

    我正在尝试在用户点击按钮时为 iPad 应用程序中的部分 UI 制作动画 我的操作方法中有这段代码 它的工作原理是 用户界面按照我的预期进行更改 但不会以动画方式进行更改 它只是立即改变 我肯定错过了什么 IBAction someActi
  • 可以从 (a,b) 移动到 (c,d)

    问题是输出是否可以从给定点移动 a b 达到目标 c d 我们仅限于正坐标 可以进行以下两种动作 a b gt a b b a b gt a b a 例如 1 1 to 5 4 is True您可以执行以下操作 使用第 2 步 3 次 1
  • 如何清空 JS 对象?

    我有一个像 var person id null name John Doe 将对象值插入数据库后 我将从服务器获取另一个对象 var personInDB id 1234 name John Doe 我用过angular merge使用更
  • 如何远程访问私有 docker-registry?

    我正在尝试使用来自以下位置的图像设置一个私有 docker 注册表 https github com docker docker registry https github com docker docker registry 只需运行 d
  • 使用 iTextSharp 将图像添加到 PDF 并正确缩放

    这是我的代码 它正确添加了我想要的图片并且一切正常except图像使用其原始分辨率 因此如果图像很大 则会被裁剪以适合页面 有没有什么方法可以让图片像缩放功能一样拉伸以适合 但又保持纵横比 那里一定有我想念的东西 P Here s a pi
  • R中的数据帧累积游程长度编码

    我有一个数据帧 其中包含与观察值 1 或 0 相关的值 我想计算 1 的连续出现次数 重置为 0 游程长度编码函数 rle 看起来它可以完成工作 但我无法将数据转换为所需的格式 我想尝试在不编写自定义函数的情况下执行此操作 在下面的数据中
  • 如何计算多边形的圆角?

    我正在寻找一种允许我从多边形创建圆角的算法 我有一个代表多边形的点数组 以红色轮廓 并且在输出时我想要一个代表带圆角的多边形 以黑色轮廓 的点数组 我还希望有一种方法来控制每个角的半径 我尝试使用贝塞尔曲线和细分 但这不是我想要的 贝塞尔曲
  • 从 avro 文件复制时导入 SUPER 列失败

    是否可以从 avro 文件复制到 SUPER 列 我正在使用以下查询来导入 copy small table from s3 xxxx redshift chunk 1782431332154490799 avro access key i
  • Ajax 控制台错误:ReferenceError:$ 未定义

    我的 html 页面上的一个小脚本有问题 它只是一个应该由 a 标记中的 onclick 方法调用的函数 它不起作用 每次我单击浏览器中的链接时 控制台都会显示 ReferenceError 未定义 并指向下面代码的第三行 您需要
  • 如何在 Elastic High Level Rest Client 中使用 search_after 进行分页

    我正在使用弹性 RestHighLevelClient 与 ES 对话 我能够查询基本查询 尽管我正在尝试使用 search after api 从我的前端查询中设计分页 api 尽管 query after 在 RestLowLevelC
  • 在 Python 中使用 Selenium Webdriver 下载图像

    我正在尝试使用 Python 中的 Selenium Webdriver 从 URL 下载图像 该站点受登录页面保护 因此不能仅使用请求保存 URL 内容 登录后我可以从网站获取文本 但我不知道如何保存图像 登录该网站后 我可以执行以下操作
  • 以用户的区域设置格式和时间偏移显示日期/时间

    我希望服务器始终在 HTML 中提供 UTC 日期 并让客户端站点上的 JavaScript 将其转换为用户的本地时区 如果我可以以用户的区域设置日期格式输出 那就太好了 似乎从 UTC 日期开始最简单的方法是创建一个新的Date对象并使用
  • 在 Woocommerce 3 中添加新产品类型

    在 Woocommerce 中 我创建了自定义产品类型live stream 但是 当我在此自定义类型中创建新产品并发布它时 该产品仍然是 简单产品 并且没有获得live stream为其设置自定义类型 我做错了什么 如何使定制产品类型发挥
  • Django 中的 OneToOne 和子类化模型有什么区别

    例如 class Subdomain Site fields here and class Subdomain models Model site models OneToOne Site fields here 型号带有OneToOne拥
  • 通过在 Maven 中运行项目的 java 类来生成源

    我正在将一个较大的 Ant 构建转换为 Maven 作为 Ant 构建的一部分 我们有几个步骤通过调用项目的类之一来创建 Java 类 简化为 javac SomeGenerator java java SomeGenerator gene