所以我构建了一个使用外部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的缓存版本一样?
答案 0 :(得分:1)
Eclipse不会自动重新扫描Java Build Paths上的外部jar文件的内容 - 它们不会仅仅更改内容,而是在大多数时间使用相同的jar名称保留在同一位置。尝试从Java Build Path中删除jar,退出Properties对话框,然后重新添加它。