当前位置: 首页 > 面试题库 >

具有多模块项目的Maven组件插件入门

陆寒
2023-03-14
问题内容

我们有一个与我们一起工作的人,他使用maven-assembly-
plugin打包所有依赖项。从那以后他就离开了公司,我正在努力弄清楚他是如何做到的。我现在正在学习有关maven-assembly-plugin的信息。

我们的应用程序分为与相关模块项目一起的Maven
POM项目。在下面的示例中,我包含了运行时模块项目。我试图在我的应用程序中创建一个名为运行时的模块项目,但是一旦进行任何更改,它就会失去与父项目的关联。

我们正在使用Netbeans。

+- pom.xml
+- Simulator 
    +- pom.xml 
+- comms 
    +- pom.xml 
    +- src 
        +- main 
            +- java
+- framework 
    +- pom.xml 
    +- src 
        +- main 
            +- java
+- core 
    +- pom.xml 
    +- src 
        +- main    
            +- java

这就是我要创建的:

+- runtime 
    +- pom.xml 
    +- src 
        +- assemble 
            +- assembly (xml file)
    +- target 
        +- Simulator   
        +- archive-tmp    
        +- classes     
        +- test-classes     
        +- Simulator (zip file)
    +- config 
    +- data   
    +- scripts

经过更多的研究后,我想我可能会把车放在马前。我已经有一个包含模块项目的主项目。

  1. 那么下一步的确切步骤是什么?
  2. 创建程序集描述符文件?
  3. 将我的主要pom文件编辑为父文件?

编辑:

我弄清楚了为什么模块从我的主项目中消失了。 Netbeans !! 我重新启动它,我的运行时模块在那里。

那么,现在我需要在运行时模块中编辑我的POM文件吗?


问题答案:

如果我没看错您的问题,那么您想要做的就是将一个新的Maven模块(称为runtime)添加到现有项目中,并使用maven-assembly-plugin此新项目中的对其进行打包。

然后,第一步是创建Maven模块。我不确定Netbeans是否提供执行此操作的工具(Eclise这样做),但是归结为:

  • <modules>父POM 的部分中,为添加新<module>runtime
  • 创建一个runtime与父POM在同一目录级别调用的新文件夹
  • pom.xml在这个新文件夹中创建一个文件,将根POM声明为父POM,如下所示:
    <parent>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <version>...</version>
    



 类似资料:
  • 我有一个父pom和两个子pom,用于jar和war文件。war文件将jar文件作为pom中的依赖项。因此,构建顺序定义如下 家长 儿童罐 儿童战争 在父pom中,模块如下所示。 要部署到Jboss的最后一个工件位于父/工作区/子war/目标/项目文件夹下。战争 当我从父工作区文件夹调用maven目标时,部署失败。 mvn清理编译安装jboss为:deploy-Dmaven。测验跳过=真 我尝试在父

  • 我有一个多模块的项目,有两个模块:war和ear模块。我正在尝试使用Maven发行版插件来管理发行版。 我的配置到目前为止... 父POM: war模块POM: ear模块POM: 正如您看到的表单日志,test-war-0.0.1-sources.jar正在上传两次。这是为什么?我怎样才能编辑我的配置,使它只上传一次?

  • 多模块项目具有具有以下依赖关系的模块:web- 我在web模块中添加了sping-boo-gradle-plugin: 当SpringBootGradle插件下载旧的hibernate版本时,我在持久性模块中有重复的版本。 形象 我尝试覆盖web模块中的hibernate依赖项,它正在工作: 形象 为什么插件下载旧的Hibernate版本?是否有任何可能排除旧的Hibernate版本从sping-

  • 我是maven的新手,在使用程序集插件生成zip文件时花了大约3天的时间,引用了http://www.petrikainulainen.net/programming/tips-and-tricks/creating-a-runnable-binary-distribution-with-maven-assembly-plugin/My project is multi module,所以我还引用

  • 我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并

  • 我在项目中有两个模块(和)运行集成测试。我希望在测试之前,我的应用程序将使用liquibase启动和滚动迁移,但由于我通过集成测试模块运行应用程序,liquibase正在寻找一个关于该模块的主文件,该文件导致了错误。因为主文件位于miom应用程序()的模块中