簡體   English   中英

我可以使用在多模塊項目中定義的自定義生命周期嗎?

[英]Can I use a custom lifecycle defined in a multi-module project?

我有一個具有復雜生命周期的項目,因此自定義生命周期是有意義的。 但是,我希望能夠在同一多模塊構建的插件中定義生命周期。 該插件僅定義了自定義生命周期(在components.xml )。

apollo-server-parent
  - apollo-server-lifecycle-plugin
    - src/main/resources/META-INF/plexus/components.xml (defines apollo-server-product)
  - ApolloServer
    - pom.xml

... <packaging>apollo-server-product</packaging> ... <plugin> <groupId>ca.nanometrics.apollo</groupId> <artifactId>apollo-server-lifecycle-plugin</artifactId> <version>${project.parent.version}</version> <extensions>true</extensions> </plugin>

但是,如果我這樣做,將無法構建Maven,因為它無法找到apollo-server-lifecycle-plugin,因為在構建反應堆時尚未構建它。 關於如何解決此問題的任何想法? 我是否必須在單獨的項目中定義插件?

我得到的錯誤示例:

[ERROR] Some problems were encountered while processing the POMs:
[ERROR] Unresolveable build extension: Plugin ca.nanometrics.apollo:apollo-server-plugin:4.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact ca.nanometrics.apollo:apollo-server-plugin:jar:4.0.0-SNAPSHOT in releases (http://.../nexus/content/groups/public) @ 
[ERROR] Unknown packaging: apollo-server-product @ ca.nanometrics.apollo:ApolloServer:[unknown-version], /opt/atlassian/pipelines/agent/build/ApolloServer/pom.xml, line 10, column 14
     @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project ca.nanometrics.apollo:ApolloServer:4.0.0-SNAPSHOT (/opt/atlassian/pipelines/agent/build/ApolloServer/pom.xml) has 2 errors
[ERROR]     Unresolveable build extension: Plugin ca.nanometrics.apollo:apollo-server-plugin:4.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact ca.nanometrics.apollo:apollo-server-plugin:jar:4.0.0-SNAPSHOT in releases (http://.../nexus/content/groups/public) -> [Help 2]
[ERROR]     Unknown packaging: apollo-server-product @ ca.nanometrics.apollo:ApolloServer:[unknown-version], /opt/atlassian/pipelines/agent/build/ApolloServer/pom.xml, line 10, column 14

如果我在這里沒弄錯你-

您要構建ApolloServer模塊,該模塊使用apollo-server-lifecycle-plugin也是項目的一個模塊。

當前的項目結構為:

apollo-server-parent
  - apollo-server-lifecycle-plugin
  - ApolloServer

多模塊指南中 ,一種簡單的方法可以確保始終在ApolloServer模塊之前構建apollo-server-lifecycle-plugin 最簡單的方法是在ApolloServer(pom.xml)中包含apollo-server-lifecycle-plugin的依賴關系,這將確保Reactor排序首先構建插件。

插件對構建中另一個模塊的依賴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM