javascript - 管理可扩展的 java/javascript 应用程序

标签 javascript java maven web-applications version-control

我有一个使用 Maven 构建的 Web 应用程序,由 Java (Spring) 后端和 Javascript (ExtJS/OpenLayers) 前端组成。该 Web 应用程序已慢慢成为许多衍生或子 Web 应用程序的基础。我的意思是,我们有一个 Web 应用程序,其功能已针对一些特定于领域的问题进行了扩展,这导致了一组全部依赖于通用功能的 Web 应用程序。

到目前为止,我们一直通过使用 SVN 存储库来“管理”该问题,该存储库包含派生 Web 应用程序分支的核心代码,并允许我们偶尔合并分支之间的更改。这种方法存在各种各样的问题,但选择它是有历史原因的,幸运的是我们现在能够纠正这个问题。

更好的解决方案似乎是将公共(public)核心代码变成一个库(并不难)并让派生子链接到它。不幸的是,大部分常见功能都存在于 javascript(ExtJS 小部件等)中,因此简单地生成 JAR 库是不够的。我们需要一种方法让“核心 javascript”文件进入子 web 应用程序,尽管不可能真正将它们视为 java 类,但我们的代码库通过利用 Ext JS 类系统尽了最大努力。

我的问题是是否有任何解决方案可以帮助解决这个问题?有没有人用 Maven 做过类似的事情?这是一种罕见的情况,我可能不得不求助于创建自己的 Maven 插件,还是应该寻找新的构建工具?

最佳答案

overlays maven-war-plugin 的功能可能有帮助。

常见的 js 文件(甚至可能是类,如果有意义的话)可以移动到单独的 war 文件中。如果它不会单独部署,您可以将 war 插件配置为不会因缺少 web.xml 而失败。文件 <failOnMissingWebXml>元素。然后,将覆盖配置添加到每个衍生 war 中。

关于javascript - 管理可扩展的 java/javascript 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10201970/

相关文章:

javascript - Express.js/React.js 页面刷新状态持久化

javascript - javascript中的跨浏览器水平和垂直滚动事件

java - CompletableFuture VS @Async

java - Windows 10-使用bash终端将Java和Maven设置为环境和系统变量

javascript - 初始化谷歌地图显示

从数组中选择/过滤对象并将其从原始数组中删除的 Javascript (ES6) 方法

java - 检查数组是否有连续的元素?

java - 如何使用 Hibernate 将 Postgres _INT8 映射到 Java 实体?

java - Maven : what does "build life cycle mapping" mean

git - Maven 发布 git-push "Host key verification failed."