如何从java类路径中排除特定的jar

时间:2017-06-28 09:05:42

标签: java dynamic classpath

我正在使用以下结构在我的java应用程序中设置classpath。 如何排除在运行时加载的特定jar。

#!/bin/sh
export JAVA_HOME=/usr/local/java
PATH=/usr/local/java/bin:${PATH}
cd /home/ala/DevDaily/Musubi

THE_CLASSPATH=
for i in `ls ./lib/*.jar`
do
  THE_CLASSPATH=${THE_CLASSPATH}:${i}
done

1 个答案:

答案 0 :(得分:0)

也许这个类似的问题可以帮到你? Deny access to certain class files in a dependency jar

如果您的案例更复杂,并且您还有另一个需要“旧”的依赖项。方法的实现,你不能修改它另一个解决方案可能是用更聪明的方法更新旧jar中的类。这个类可以容纳两个依赖于你的两个调用者的实现。

以下代码将获取并打印来电者包裹和类别的名称,之后您可以决定不同的行为。

web: python manage.py runserver 0.0.0.0:$PORT --noreload
worker: python worker.py

这个解决方案非常不明智,并且破坏了jar的整个目的,但它可以快速解决您的问题。