wood burning stoves 2.0*
The moose likes Java in General and the fly likes Using css-validator.jar (provided by W3C)  in my web application Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Using css-validator.jar (provided by W3C)  in my web application " Watch "Using css-validator.jar (provided by W3C)  in my web application " New topic
Author

Using css-validator.jar (provided by W3C) in my web application

Sneha Ganatra
Greenhorn

Joined: Jun 06, 2011
Posts: 3

Hi ,

I need to add a utility in my web application that user enters their site url and I need to validate it against W3C standards. Same as W3C validator tools does already.
[Markup validator]
[CSS Validator]

. I can't use their service as it is shared ,,and access use of it is blocked. So I decided to use their api and integrate it to my application ..

I've been trying to get the css-validator.jar in my application .I have foolowed every instruction they have listed in Instructions . But I am not able to work with Tomcat.

Here is the error log printed in tomcat stdout.log file.


[trace] *******************************************************************
[debug] Starting Apache Velocity v1.5 (compiled: 2007-02-22 08:52:29)
[trace] RuntimeInstance initializing.
[debug] Default Properties File: org\apache\velocity\runtime\defaults\velocity.properties
[debug] Trying to use logger class org.apache.velocity.runtime.log.AvalonLogChute
[debug] Couldn't find class org.apache.velocity.runtime.log.AvalonLogChute or necessary supporting classes in classpath.
org/apache/log/format/Formatter
java.lang.NoClassDefFoundError: org/apache/log/format/Formatter
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.velocity.util.ClassUtils.getClass(ClassUtils.java:63)
at org.apache.velocity.util.ClassUtils.getNewInstance(ClassUtils.java:95)
at org.apache.velocity.runtime.log.LogManager.createLogChute(LogManager.java:147)
at org.apache.velocity.runtime.log.LogManager.updateLog(LogManager.java:208)
at org.apache.velocity.runtime.RuntimeInstance.initializeLog(RuntimeInstance.java:728)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:240)
at org.apache.velocity.runtime.RuntimeSingleton.init(RuntimeSingleton.java:113)
at org.apache.velocity.app.Velocity.init(Velocity.java:83)
at org.w3c.css.index.IndexGenerator.generatesIndex(IndexGenerator.java:102)
at org.w3c.css.servlet.CssValidator$1.run(CssValidator.java:144)
Caused by: java.lang.ClassNotFoundException: org.apache.log.format.Formatter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
... 12 more
[debug] Using SystemLogChute.
[debug] Default ResourceManager initializing. (class org.apache.velocity.runtime.resource.ResourceManagerImpl)
[debug] ResourceLoader instantiated: org.apache.velocity.runtime.resource.loader.FileResourceLoader
[trace] FileResourceLoader : initialization starting.
[debug] Do unicode file recognition: false
[info] FileResourceLoader : adding path '/D:/hardik_java/Eclipse%203.1/eclipse/eclipse/workspace/vys/.deployables/vys/WEB-INF/classes/org/w3c/css/index/'
[info] FileResourceLoader : adding path '/D:/hardik_java/Eclipse%203.1/eclipse/eclipse/workspace/vys/.deployables/vys/WEB-INF/classes/org/w3c/css/index/../../../../'
[trace] FileResourceLoader : initialization complete.
[debug] ResourceCache: initialized (class org.apache.velocity.runtime.resource.ResourceCacheImpl)
[trace] Default ResourceManager initialization complete.
[debug] Loaded System Directive: org.apache.velocity.runtime.directive.Literal
[debug] Loaded System Directive: org.apache.velocity.runtime.directive.Macro
[debug] Loaded System Directive: org.apache.velocity.runtime.directive.Parse
[debug] Loaded System Directive: org.apache.velocity.runtime.directive.Include
[debug] Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
[debug] Created '20' parsers.
[trace] Velocimacro : initialization starting.
[debug] Velocimacro : "velocimacro.library" is not set. Trying default library: VM_global_library.vm
[debug] Velocimacro : Default library not found.
[debug] Velocimacro : allowInline = true : VMs can be defined inline in templates
[debug] Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
[debug] Velocimacro : allowInlineLocal = false : VMs defined inline will be global in scope if allowed.
[debug] Velocimacro : autoload off : VM system will not automatically reload global library macros
[trace] Velocimacro : Velocimacro : initialization complete.
[trace] RuntimeInstance successfully initialized.
[error] ResourceManager : unable to find resource 'validator.vm' in any resource loader.
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'validator.vm'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:452)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:335)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102)
at org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:324)
at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:524)
at org.w3c.css.index.IndexGenerator.generatesIndex(IndexGenerator.java:110)
at org.w3c.css.servlet.CssValidator$1.run(CssValidator.java:144)
[error] ResourceManager : unable to find resource 'org/w3c/css/css/xhtml.properties' in any resource loader.
Unable to find resource 'org/w3c/css/css/xhtml.properties'
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'org/w3c/css/css/xhtml.properties'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:452)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:335)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1077)
at org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:303)
at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:503)
at org.w3c.css.css.StyleSheetGenerator.<init>(StyleSheetGenerator.java:199)
at org.w3c.css.css.StyleReportFactory.getStyleReport(StyleReportFactory.java:19)
at org.w3c.css.servlet.CssValidator.handleRequest(CssValidator.java:758)
at org.w3c.css.servlet.CssValidator.doGet(CssValidator.java:393)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at org.w3c.css.css.StyleSheetGenerator.print(StyleSheetGenerator.java:474)
at org.w3c.css.servlet.CssValidator.handleRequest(CssValidator.java:770)
at org.w3c.css.servlet.CssValidator.doGet(CssValidator.java:393)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)




I am confused that all resource the error is saying missing ex. xhtml.properties, Validator.vm .. are present in jar file. I ll be really thankful... if there is anybody that has already been done this or anybody who can guide me,... please please please.......


Thanks,
Sneha.
Sagar Rohankar
Ranch Hand

Joined: Feb 19, 2008
Posts: 2902
    
    1

The error indicates that the validator jar is not on classpath, make sure you've put that file in WEB-INF/lib.


[LEARNING bLOG] | [Freelance Web Designer] | [and "Rohan" is part of my surname]
Sneha Ganatra
Greenhorn

Joined: Jun 06, 2011
Posts: 3

It's proper dear... the jar file is in the classpath...
Sagar Rohankar
Ranch Hand

Joined: Feb 19, 2008
Posts: 2902
    
    1

Are you starting your app from Eclipse ? If so, I suggest to make a war for your web app and deploy it in standalone tomcat server and then try.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60786
    
  65

Sneha Ganatra wrote:It's proper dear... the jar file is in the classpath...

The classpath is meaningless at run time.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

Sneha Ganatra wrote:It's proper dear... the jar file is in the classpath...

Is it in WEB-INF/lib of your webapp? That is where it should be. Forget about the CLASSPATH environment variable.

The error indicates that the class org.apache.log.format.Formatter cannot be found. That is a class from Apache Commons Logging. You need to include the right version of that library in your WEB-INF/lib also.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Sneha Ganatra
Greenhorn

Joined: Jun 06, 2011
Posts: 3

Thanks all ,,but I have taken care all of the things you suggested.. Hey,can you do it at your end and tell me where I lack ,,if you have time ...

@ Sagar Rohankar :

Yes dear,, I am using ecclipse... but I had tried also by deploying the war in standalone tomcat server,,,, but both way it gives same result ... .. I have tried all ways.. but nothing works..

@ Jesper de Jong :


Yes,it is in WEB-INF/lib and I have added all jars of the same version stated in W3C installation guide.. here is the link -- http://jigsaw.w3.org/css-validator/DOWNLOAD.html

By following all these ,, instruction I have successfully build css-validator.war file and deploy in tomcat.. but still it gives me an error... Then I tried to use it in my existing web-application same as we do with any jar file... but it also gives me same errors in back end...

Thanks,
Sneha.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Using css-validator.jar (provided by W3C) in my web application
 
Similar Threads
Apache Velocity ---ResourceNotFoundException
Velocity Error:Resource Not Found Exception
issue while using struts-core-1.3.5
mvn error, please help
Hibernated Pojo Generator using config.xml for Oracle database