所以我构建了一个使用外部 JAR 库 (B.jar) 的 JAR (A.jar)
B.jar 内部只有 1 个变量
private static final byte myByte = 1;
我在一台具有不同 Java VM 的单独计算机中运行 A.jar 主类,如下所示:
java -classpath A.jar;B.jar; main
问题是,当我发布 myByte = 2 的新版本 B.jar 时,A.jar 仍然将 myByte 读取为 1 而不是 2。
我已经确保旧的和新的 B 库没有被编译/包含在 A.jar 中。
为什么A.jar不使用B.jar外部引用?但它的使用就像旧 B.jar 的缓存版本吗?
最佳答案
Eclipse 不会自动重新扫描 Java 构建路径上的外部 jar 文件的内容——它们不仅会更改内容,而且大多数时候会保留在同一位置并具有相同的 jar 名称。尝试从 Java 构建路径中删除该 jar,退出“属性”对话框,然后将其添加回来。
关于java - 外部 JAR 上的变量未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32623727/