📄 classpathchecker.java
字号:
package net.sf.fmj.utility;import java.util.Vector;import java.util.logging.Logger;import javax.media.Manager;import javax.media.PackageManager;/** * Used to help recognize when JMF is in the classpath ahead of FMJ. * * @author Ken Larson * */public final class ClasspathChecker{ private static final Logger logger = LoggerSingleton.logger; public static boolean checkAndWarn() { boolean result = true; if (!checkFMJPrefixInPackageManager()) { logger.warning("net.sf.fmj not found in PackageManager.getContentPrefixList() and PackageManager.getProtocolPrefixList(); is JMF ahead of FMJ in the classpath?"); result = false; } if (checkJMFInClassPath()) { logger.info("JMF detected in classpath"); } if (!checkManagerImplementation()) { logger.warning("javax.media.Manager is JMF's implementation, not FMJ's; is JMF ahead of FMJ in the classpath?"); result = false; } logger.info("javax.media.Manager version: " + Manager.getVersion()); return result; } public static boolean check() { boolean result = true; if (!checkFMJPrefixInPackageManager()) { //logger.warning("net.sf.fmj not found in PackageManager.getContentPrefixList() and PackageManager.getProtocolPrefixList(); is JMF ahead of FMJ in the classpath?"); result = false; } if (!checkManagerImplementation()) { //logger.warning("javax.media.Manager is JMF's implementation, not FMJ's; is JMF ahead of FMJ in the classpath?"); result = false; } return result; } public static boolean checkFMJPrefixInPackageManager() { final Vector contentList = PackageManager.getContentPrefixList(); if (!contentList.contains("net.sf.fmj")) return false; final Vector protocolList = PackageManager.getProtocolPrefixList(); if (!protocolList.contains("net.sf.fmj")) return false; return true; } /** * * @return true if FMJ manager, false if JMF. */ public static boolean checkManagerImplementation() { try { Manager.class.getField("FMJ_TAG"); return true; } catch (Exception e) { return false; } } /** * Check if JMF is in the classpath (regardless of position). * @return true if JMF is in the classpath. */ public static boolean checkJMFInClassPath() { try { // just try a few: Class.forName("com.sun.media.BasicClock"); Class.forName("com.sun.media.BasicCodec"); Class.forName("com.sun.media.BasicConnector"); return true; } catch (Exception e) { return false; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -