Maven Common dependencies multiple projects exclude jar from war
Maven Common dependencies multiple projects exclude jar from war
我们的环境中有多个 Web 项目(100 多个)、自定义 jar 和 REST Web 服务项目。我们使用 ANT 通过 Jboss5.2.1 进行构建,我正在尝试使用 MyEclipse 2019 迁移到 Maven 并部署到 Tomcat 服务器。所有所需的常用 jar 都在 Jboss/server/default/lib 中,并添加到 Web 项目的构建路径中。我们不希望将依赖项 jar 打包到 WAR 文件中。使用 Maven,依赖项被添加到 war 中,增加了 war 的大小。我们希望将这些依赖项(如 gson、poi 等)放在一个公共位置,并使用构建路径引用它们。有这种可能吗?
我读过有关使用系统范围的内容。但由于已弃用且未建议,我不想走那条路。使用父项目设置本地 Maven 存储库似乎也不适合我们,因为我不希望 WAR 的 lib 文件夹中的依赖项 jar。
在这种情况下,使用 Maven 是否是正确的方法? MyEclipse CI 2019默认将所有web项目创建为Maven项目。因此,如果这不是适合我们的构建工具,我将不得不想出一种方法来禁用它。
将依赖 jar 打包到 WAR 中是不被接受的,因为部署团队认为这会不必要地增大每个 WAR 的大小。我是 Maven 的新手,正在尝试以正确的方式设置项目。感谢您的帮助!
您希望服务器在运行时提供一些常用的 jar,而不是打包到每个 war。
所以你必须做两件事:
- 将 jar 添加到您的服务器 (Jboss/Tomcat),以便它们在运行时可用。
- 将 jar 添加为
provided
依赖项,供 war 需要它们。这意味着您定义了对它们的依赖但设置了 <scope>provided</provided>
.
这会导致依赖项在编译时可用,但不会捆绑到 war。
Beware,但是,有许多公共库使得更新其中一个变得困难。
我们的环境中有多个 Web 项目(100 多个)、自定义 jar 和 REST Web 服务项目。我们使用 ANT 通过 Jboss5.2.1 进行构建,我正在尝试使用 MyEclipse 2019 迁移到 Maven 并部署到 Tomcat 服务器。所有所需的常用 jar 都在 Jboss/server/default/lib 中,并添加到 Web 项目的构建路径中。我们不希望将依赖项 jar 打包到 WAR 文件中。使用 Maven,依赖项被添加到 war 中,增加了 war 的大小。我们希望将这些依赖项(如 gson、poi 等)放在一个公共位置,并使用构建路径引用它们。有这种可能吗?
我读过有关使用系统范围的内容。但由于已弃用且未建议,我不想走那条路。使用父项目设置本地 Maven 存储库似乎也不适合我们,因为我不希望 WAR 的 lib 文件夹中的依赖项 jar。
在这种情况下,使用 Maven 是否是正确的方法? MyEclipse CI 2019默认将所有web项目创建为Maven项目。因此,如果这不是适合我们的构建工具,我将不得不想出一种方法来禁用它。
将依赖 jar 打包到 WAR 中是不被接受的,因为部署团队认为这会不必要地增大每个 WAR 的大小。我是 Maven 的新手,正在尝试以正确的方式设置项目。感谢您的帮助!
您希望服务器在运行时提供一些常用的 jar,而不是打包到每个 war。
所以你必须做两件事:
- 将 jar 添加到您的服务器 (Jboss/Tomcat),以便它们在运行时可用。
- 将 jar 添加为
provided
依赖项,供 war 需要它们。这意味着您定义了对它们的依赖但设置了<scope>provided</provided>
.
这会导致依赖项在编译时可用,但不会捆绑到 war。
Beware,但是,有许多公共库使得更新其中一个变得困难。