当运行另一个JVM模块的源文件时,防止非src代码模块运行maven构建周期

当运行另一个JVM模块的源文件时,防止非src代码模块运行maven构建周期,maven,intellij-idea,Maven,Intellij Idea,我制作了一个maven模块,我只使用它来复制一些文件并稍微处理它们。它没有java或kotlin,但是它是一个JVM类型的模块。然而,出于某种原因,在我现在这样做之后,当我尝试从其他模块中创建jvm项目时,maven生命周期会运行(我认为包括phase:package)。为什么会这样?我只希望能够在该模块上手动运行MVN阶段。有人知道如何禁用此模块吗?所有阶段都针对所有模块运行。在根目录中运行mvn包时,它会针对中描述的每个模块运行从默认生命周期[]到包的所有阶段 但是阶段什么也做不了。它们只是

我制作了一个maven模块,我只使用它来复制一些文件并稍微处理它们。它没有java或kotlin,但是它是一个JVM类型的模块。然而,出于某种原因,在我现在这样做之后,当我尝试从其他模块中创建jvm项目时,maven生命周期会运行(我认为包括phase:package)。为什么会这样?我只希望能够在该模块上手动运行MVN阶段。有人知道如何禁用此模块吗?

所有阶段都针对所有模块运行。在根目录中运行
mvn包
时,它会针对
中描述的每个模块运行从默认生命周期[]到
的所有阶段

但是阶段什么也做不了。它们只是标签——插件绑定到这些标签[]。因此,在一个阶段中所做的是由绑定到该阶段的插件列表决定的

您可以尝试的东西:

  • 将模块的
    打包
    更改为非jar。打包决定默认插件绑定的列表。这似乎是你最好的选择
  • 中删除模块,并分别运行所需的插件。因此,此模块将从根模块中完全排除
  • 通过为插件(以及所有其他插件)设置一个不存在的阶段,将插件从您的模块中解除绑定(如果插件是从父POM继承的):

maven编译器插件
默认编译
没有一个

请给出一个示例,您有什么类型的JVM类型模块?我不知道你的意思是什么?JVM类型模块只是意味着它在项目结构中有额外的选项卡,用于模块路径、运行Java或Kotlin的依赖项。我认为有必要在模块上运行maven。当然,您可以使用maven构建包含module-info.java文件的模块……我看不出与此有什么关系?你能更详细地解释一下吗…或者最好是一个例子…我不太确定如何从我的代码中快速找到一个例子,只是我有几个java/kotlin模块,这个非源代码模块只是一种存储一堆相关文件的方法,我想在git下拥有这些文件,并且能够单独部署,我只能这样解释了。它工作得很好,但我现在遇到的问题是,它会使从我的项目中运行任何java/kotlin类的速度变慢,因为它在运行其他模块中的任何代码之前首先构建了这个模块。对于编译器插件和jar插件,我都没有这个阶段。我这样做是为了在不构建任何jar的情况下运行模块[package]。虽然它仍然创建了一个空的classes文件夹,但我通过使clean插件比构建过程中运行得晚来处理它。我不知道如何打包pom,但这对我来说似乎没有任何改变,模块仍然在运行其他模块的类之前构建。用户是否明确定义了
?我只在一个pom中有它,但它没有引用这个特定的模块
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <executions>
        <execution>
          <id>default-compile</id>
          <phase>none</phase>
        </execution>
      </executions>
    </plugin>