在 WEB-INF/lib foo.jar 中备份到 foo_backup.jar 会影响项目吗?
我的确切问题是...
如果我做上述事情,它会加载两个jar吗?foo.jar 和 foo_backup.jar?
并且因为两个 jar 里面都包含相同的类。当我使用某个类时会考虑哪个(考虑 com.test.TestClass)?是 foo.jar 还是 foo_backup.jar?
有人可以请教吗?我可以删除那个 foo_backup.jar 但我想知道如果出现这种情况会发生什么?
而不是foo_backup.jar
创建一个名称为 的备份foo.jar.backup
。
尽管如此,如果您使用备份,foo_backup.jar
那么我认为foo.jar
将首先加载它,因为它首先出现在列表中,但仍然怀疑,它可能会导致问题(假设备份是旧版本),因为两个 jars 以及其中的类都将可用在类路径中。
我认为类加载器只会选择第一个并仅加载它,但这将取决于类加载器的实现,这通常不是您可以控制的。这可能会导致各种讨厌的错误。我建议使用@fvu 的建议。
使用 name(-data).bak 调用备份绝对是一个好习惯 括号中的数据是可选的,因为它在您将拥有多个备份的情况下很有用,因此您可以跟踪最近的那些。