java - Maven:在项目之间共享源

标签 java maven

我有两个项目,它们是共同父项目的子项目。还有一个生成器项目和生成器对应的maven插件项目。此外,两个子项目都使用相同的输入文件,该文件用于代码生成:

parent: pom
  child1: jar
    src/main/generator/input.gen
  child2: jar
    src/main/generator/input.gen
  generator: jar
  generator-plugin: maven-plugin

生成器插件是一个内部制作的 Maven 插件:

@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class GeneratorPlugin extends AbstractMojo {
    @Parameter(required = true, readonly = true, defaultValue = "${project}")
    private MavenProject project;
    @Parameter(required = true, defaultValue = "${project.basedir}/src/main/generator/input.gen")
    private File         input;

   ...

}

当前,这个input.gen重复于 src/main/generator/input.gen两者 child1child2 。这是个问题。我只想拥有 input.gen 的一个版本.

我应该如何构建我的项目以及如何在 <configuration><input>...</input></configuration> 中引用此共享副本对于generator-plugin两个子项目的 pom 中都有插件吗?

最佳答案

Maven Remote Resources Plugin可能就是您正在寻找的。

这是一个example .

关于java - Maven:在项目之间共享源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46133900/

相关文章:

java - 如何将子选择与PreparedStatements 结合使用?

java - 应用程序在 GlassFish 4.1 上部署成功,但浏览错误 404

java maven项目获取文件

java - 如何检测我的测试是否在 Jenkins 环境中运行?

java - 无法读取 com.h2 数据库 Spring MVC 的 Artifact 描述符

java - 如何在列表单元格中添加组件?

java - android java 会在 java 8 中支持 lambda 表达式吗?

java - 将 2 channel Shorts 数组写入 WAV 文件

maven - Kotlin maven 插件编译顺序

css - 如何将CSS添加到Vaadin/Maven元素中?