Java:如果类存在则在运行时检查

我正在开发一个依赖于第三方库的软件。 由于许可协议,此库不能与软件一起发货,并且用户在启动程序时必须已在本地安装库。

有没有办法检查这个特定的库是否存在于类路径中并且可以加载? 如果不是,我想提供一个对话框,允许用户指向该位置,并动态地将此位置添加到类路径。

谢谢你的帮助!

尝试这个:

try { Class clazz = Class.forName("com.acme.SecretClass"); } catch (ClassNotFoundException e) { // Show dialog } 

我知道计算时间最快的方法是:

 public class ClazzUtil { public static boolean isClassnameAvailable(String clazzName) { try { Class.forName(clazzName, false, ClazzUtil.class.getClassLoader()); } catch (LinkageError | ClassNotFoundException e) { return false; } return true; } } 

如果某个类在运行时不存在,则会抛出ClassNotFoundException。 您可以通过以下方式检查。

 try { Class cls = Class.forName("yourClassName"); } catch (ClassNotFoundException e) { e.printStackTrace(); } 

刚解决了我的代码中的问题,晚餐很有用,没有引发exception。

 @SuppressWarnings("finally") private boolean existClass(String className){ Class classname= null; try { classname = Class.forName(className); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally{ if(classname == null) return false; else return true; } }