Maven从另一个maven项目中生成源

时间:2017-12-23 04:12:26

标签: java maven

在我的项目中,我有一个源代码生成器,它依赖于大量的java代码来构建一个java源代码,然后存储为字符串。通常我会将字符串写入.java文件,但我最近开始将项目切换到Maven,我正在寻找一种方法让src文件成为目标文件夹的一部分,因此它可以用作依赖项另一个maven项目。

1 个答案:

答案 0 :(得分:0)

作为构建工具的Maven具有模块中目录布局的约定(如src/main/javasrc/main/resources,您可能已经看过这些东西)。 在编译阶段,所有编译的类都放入一个名为target的文件夹中。 稍后,在package阶段,jar将在此target文件夹中创建。

现在,对于生成的源,还有一种约定,尽管可能鲜为人知:

如果您生成来源,则应将其放入:

target/generated-sources

执行此操作时,IDE(至少IntelliJ)会将它们用作源文件。

maven中的源生成过程通常是从附加到早期阶段之一的maven插件触发的。然后,当涉及package阶段时,这些源将被添加到jar中,就像编译为二进制源的任何其他.class文件一样。