运行css-validator.jar时出现ClassNotFoundException错误

时间:2014-06-17 22:42:34

标签: java css-validator

我正在尝试从w3实现css-validator,并且每次尝试都失败,引发错误消息。

以下是我遇到的错误:

"Directory Redacted"\framework-web>java -jar "Directory Redacted"\Downloads\
css-validator.jar http://www.w3.org
Exception in thread "main" java.lang.NoClassDefFoundError: org/w3c/tools/resourc
es/ProtocolException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
    at java.lang.Class.getMethod0(Class.java:2774)
    at java.lang.Class.getMethod(Class.java:1663)
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)

Caused by: java.lang.ClassNotFoundException: org.w3c.tools.resources.ProtocolExc
eption
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 6 more

此错误消息到底指示了什么以及如何解决?

3 个答案:

答案 0 :(得分:3)

应用程序似乎正在使用“ProtocolException”类:

http://jigsaw.w3.org/Doc/Programmer/api/org/w3c/tools/resources/ProtocolException.html

你的类路径中可能缺少它。我会看看你是否可以在你的ant类路径中添加包含 jar

另外,如果你看看思南的答案: How can I validate CSS on internal web pages?

是否有应用程序附带的ant构建文件?如果是这样,可能就像在build.xml上运行ant来获取依赖项一样简单,然后通过命令行运行java -jar。

答案 1 :(得分:2)

好的,事实证明我错过了8个必备的.jar文件。我将它们放在与css-validator.jar相同的文件夹中名为lib的文件夹中,之后它完美地运行。文件是:

  1. 公地集合-3.2.1.jar
  2. 公地琅2.6.jar
  3. 的HTMLParser-1.3.1.jar
  4. jigsaw.jar
  5. tagsoup-1.2.jar
  6. 速度-1.7.jar
  7. xercesImpl.jar
  8. XML-apis.jar
  9. 比我想象的要少得多。 css-validator.jar的文档没有完整的列表,不得不在互联网上跳舞甚至重命名一些jar文件以使其工作(删除其中一些的版本号。)如果有人想使用css-validator .jar,你需要这些文件

答案 2 :(得分:2)

当cluemein包含实际文件名但没有原始版本以及哪些版本被重命名时,我感激不尽,我仍然无法运行css-validator。所以我从http://dev.w3.org/cvsweb/2002/css-validator/build.xml?rev=1.24;content-type=text%2Fplain下载了最新的css-validator.jar和最新的build.xml文件。

我将build.xml文件和jar放在目录中并运行

ant prepare

Ant为我下载了预期的jar版本,并将它们重命名为lib文件。然后我跑了

java -jar css-validator.jar http://awesomesite.com

它运作良好。