使用 Maven 将 Angular 项目打包为 Web 应用程序

Packaging an Angular project as a webapp with Maven

这是一个有点奇怪的问题:我有一个 Angular 项目与 Restful Java 应用程序对话。我正在寻求帮助将其打包为 Maven webapp 项目,然后可以 generate/build 一个 WAR 文件。 我可以在 Maven 中轻松完成吗? 到目前为止,我使用 'maven-archetype-webapp' 原型创建了一个简单的应用程序,但并不完全确定 Angular 是否会很好玩。 目标是采用 Angular UI 并将其部署在一些遗留服务器(如 GlassFish、IBM Websphere AS 9.0 等)上,以便它像常规客户端应用程序一样工作。非常感谢任何帮助。

我对基于 Vue 和 Dropwizard 的项目做了类似的事情,设置如下:

  • 前端项目包含在clientdirectory/module
  • 下的maven结构中
  • client pom 使用 maven exec plugin 到 运行 前端构建(npm 在我的例子中,但是 grunt/gulp/ yarn/无论什么都会起作用)在构建的compile阶段
  • client pom 使用 maven resources plugincopy-resources 从前端构建输出目录 (dist) 到目标输出子目录 (${project.build.outputDirectory}/assets)构建的 prepare-package 阶段
  • client pom 在构建
  • package 阶段使用maven jar pluginjar 输出目录
  • dropwizard 模块依赖于 client jar,并使用 AssetsBundle/assets
  • 为前端应用程序提供服务

根据 Glassfish/Websphere/etc 和 angular 构建过程中提供资产的最佳方式,细节可能略有不同,但上述方法应该适用于这些细节。