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

时间:2019-12-18 15:15:33

标签: maven maven-compiler-plugin maven-war-plugin

我有一个旧版应用程序,正在从Ant移植到Maven。我的Maven构建适用于主项目,该项目已经移至标准Maven目录布局(*.java中的/src/main/java/文件)中,并且将已编译的类输出为你可能希望。这些文件打包在/target/classes/文件中。

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

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

当然,如果可以更方便地与其他类一起编译源文件,然后再将其移动(也许使用WAR插件?),则可以移动源文件,但是我绝对需要在其中编译源文件/cronjobs/ MyClass.class的{​​{1}}目录。

1 个答案:

答案 0 :(得分:0)

我将项目分为两部分,webapp作为战争,cronjobs作为jar。 Maven知道多模块格式,这是使Webapp与非Webapp代码脱钩的最佳方法。