如何从一个来源生成多个Maven工件
|
我了解这与Maven最佳做法背道而驰,但也许我的情况是该规则中为数不多的例外之一-至少我对替代方案的思考深陷其中:
环境是这样的:
我们有一个遗留应用程序,它具有基于专有技术的与外界的接口
我们想使用Flash作为新的前端
基于旧版接口,我们生成Flash类并将其打包在Flash SWC中,以供前端开发人员使用
基于旧版接口,我们生成了Java类,这些类将Flash服务请求(通过火焰发送)桥接到旧版接口
为了增加难度,我们不想/不能为每个接口单独使用pom,因为我们有数十个(接口),它们的artifactId仅不同。取而代之的是,我使用一个\“ generic \\”项目结构,它将为每个构建参数化(通过jenkins)。该项目将仅在完全自动化的环境中使用。
首先,我尝试将所有这些都放在一个“简单”项目中,该项目可以安装工件。
我当前的方法是受maven参考第13章启发的多模块项目结构,它本身具有一些缺点:
GenericProject
|
+-- GenerateSources from legacy interface
| +-- pom.xml
|
+-- Java
| +-- pom.xml
|
+-- SWC
| +-- pom.xml
|
+-- pom.xml
这种方法的缺点是,我从\“ Java \”和\“ SWC \”引用了\“ GenerateSource \”的内部结构,这很丑陋但可以忍受。
我真正遇到的是,我必须大量调整安装和部署插件,以获取具有触发整个过程的旧版接口的名称和版本的工件。
我现在开始运行它,但是它看起来很脆弱。
我考虑过将项目拆分/复制为两个简单的项目:
GenerateSources和Java
GenerateSources和SWC
但这只能解决交叉引用带来的小麻烦。
正如亚伦(Aaron)在其评论中指出的那样,我不清楚该问题的陈述。
经过更多的实验,这对我来说变得更加清楚:
基本上我有两个问题要解决
一起安装/部署两个工件
命名与ѭ1不同的文物
有什么建议可以使整个过程更像行家吗?
提前致谢。
没有找到相关结果
已邀请:
3 个回复
佬棠
生成pom.xml,其中包含已解析的
和
2.2运行Maven构建 尽管理论上您可以将表达式用作
和
,但是maven为此警告您。 。 。有充分的理由: 当您尝试引用产生的工件时,nexus将为您提供“无法读取...的工件描述符”错误。 我怀疑这是因为在存储库中存储的pom中未解析表达式!
稳赣苍卯改
阶段。有关示例(请参见maven-annotation-plugin)(主类)。 这将在ѭ9output的输出中包含生成的源,您可以通过在其他POM中包含依赖项来使用这些类。请注意,您应该在
下创建这些文件,而不是在
下创建这些文件。 至于安装/部署:这些插件从创建工件的插件中获取名称。因此,设置属性的方式一定存在问题。就您而言,这就是JAR插件。该文档提供了一个示例,说明如何设置默认工件的名称。
夏瓤跋棘