在Maven中,如何将源目录之外的类编译成任意目标目录?

在Maven中,如何将源目录之外的类编译成任意目标目录?,maven,maven-compiler-plugin,maven-war-plugin,Maven,Maven Compiler Plugin,Maven War Plugin,我有一个从Ant移植到Maven的遗留应用程序。我的Maven构建在主项目中运行良好,我已将其移动到标准Maven目录布局(/src/main/java/中的*.java文件)中,并将编译后的类输出到/target/classes/,尽可能整洁。这些文件打包在.war文件中 但是,该项目还有一个文件夹层次结构之外的类,实际上是web应用程序之外的类,它包含通过cron作业运行的脚本。假设它是/cronjobs/MyClass.java。我需要将该类编译并输出到/target/cronjobs/M

我有一个从Ant移植到Maven的遗留应用程序。我的Maven构建在主项目中运行良好,我已将其移动到标准Maven目录布局(
/src/main/java/
中的
*.java
文件)中,并将编译后的类输出到
/target/classes/
,尽可能整洁。这些文件打包在
.war
文件中

但是,该项目还有一个文件夹层次结构之外的类,实际上是web应用程序之外的类,它包含通过cron作业运行的脚本。假设它是
/cronjobs/MyClass.java
。我需要将该类编译并输出到
/target/cronjobs/MyClass.class
,并将其压缩为生成的
.war
文件的一部分,保存在其
/cronjobs/
文件夹中

Maven能做到吗?我知道可以更改默认的“src”目录和“target”目录,但我不知道是否(或如何)可以为一个类运行单独的并行编译步骤


当然,我可以移动源文件,如果用其他类编译它更容易,然后再移动它(可能是用WAR插件?),但我肯定需要
/cronjobs/
目录下
.WAR
.MyClass
文件,我将项目分为两部分,webapp作为war,cronjobs作为jar。Maven了解多模块格式,这在某种程度上是将webapp与非webapp代码解耦的最佳方式。

这是否意味着两个不同的POM文件?是的,最终是一个父POM,其中包含一个
部分,您可以指定其中的两个,以便以方便的方式构建项目。在工作中,我们有一个包含大约10个子模块的父POM,每当我想构建所有子模块时,我就在父POM目录中
mvn clean package