我正在编写一个 Java Web 应用程序。
当我开始时,每次需要使用外部包时,我都会手动下载 jar
并手动下载每个 jar
的所有依赖项并将它们放入libraries
文件夹(在 Netbeans 中)。
随着时间的推移,我开始使用依赖管理器(Ant)。
现在,我想对所有外部库使用我的依赖项管理器。
如果在执行此更改后我运行我的应用程序并且它成功部署(没有 ClassNotFoundException
和没有 NoClassDefFoundError
),是否可以安全地假设我没有错过了什么,并且我的应用程序将顺利运行,只要外部包正常?
或者,我是否需要单独测试网络应用程序中的每个功能,以确认我对库所做的更改不会改变应用程序的运行方式?
最佳答案
这实际上取决于这些库中的代码。启动时仅加载部分类,因此您可能会错过某些内容。此外,您还可能在运行时手动加载一些类,即 Class.forName(String) ,并且此代码在启动时尚未触发。因此,我想说你不能 100% 确定。
一般来说,在 Java 中,有 3 种构建方法:
- 命令 - 你说的是“如何组装你的代码”。典型的例子是 Apache Ant .
- 声明式 - 您说的是“您想要汇编哪些代码”。典型的例子是 Apache Maven
- 混合 - 利用以前系统的优点。这是Gradle .
它有什么帮助!
关于java - 测试Java Web应用程序库的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52756878/