我有一个旧版应用程序,我正在从Ant移植到Maven。 我的 Maven 构建适用于主项目,我已经将其移动到标准的 Maven 目录布局(*.java
/src/main/java/
中的文件(,它将编译后的类输出到/target/classes/
中,尽可能整洁。 它们打包在一个.war
文件中。
但是,该项目还有一个在文件夹层次结构之外(实际上是在 Web 应用程序之外(的类,其中包含通过 cron 作业运行的脚本。 假设它是/cronjobs/MyClass.java
. 我需要将该类编译并输出到/target/cronjobs/MyClass.class
并作为生成的.war
文件的一部分压缩到其/cronjobs/
文件夹中。
Maven能做到这一点吗? 我知道可以更改默认的"src"目录和"目标"目录,但我不知道是否可以(或如何(只为一个类运行单独的并行编译步骤。
当然,如果与其他类一起编译它然后稍后移动它更容易,我可以移动源文件,但我肯定需要在.war
的/cronjobs/
目录中编译MyClass.class
文件。
我将项目分为两部分,webapp 作为战争,cronjobs 作为 jar。Maven 了解多模块格式,这是将 Web 应用程序与非 Web 应用程序代码分离的最佳方式。