Giter Site home page Giter Site logo

Comments (4)

emezeta avatar emezeta commented on May 24, 2024

Just deployed query2report in tomcat-8 with a very very similar output...

The fail seems to be Config properties file /var/lib/tomcat8/q2rapp/q2r.properties file not found. In addiction probably some wrong file permission.

Also note than file is looked up at /var/lib/tomcat8/q2rapp when in my deployment is /var/lib/tomcat8/q2r what looks more natural. Anyway q2r.properties is not found within the entire filesystem.
Ready to receive any help! Tks.

<!doctype html><html lang="es"><head><title>Estado HTTP 500 – Internal Server Error</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>Estado HTTP 500 – Internal Server Error</h1><hr class="line" /><p><b>Tipo</b> Informe de Excepción</p><p><b>mensaje</b> Servlet.init() para servlet [LWR_REST] lanzó excepción</p><p><b>descripción</b> El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.</p><p><b>excepción</b></p><pre>javax.servlet.ServletException: Servlet.init() para servlet [LWR_REST] lanzó excepción org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base&#47;java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base&#47;java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base&#47;java.lang.Thread.run(Thread.java:834) </pre><p><b>causa raíz</b></p><pre>java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present java.base&#47;sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) java.base&#47;sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) java.base&#47;java.lang.Class.getGenericInterfaces(Class.java:1137) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625) com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202) com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89) com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332) com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339) com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base&#47;java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base&#47;java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base&#47;java.lang.Thread.run(Thread.java:834) </pre><p><b>causa raíz</b></p><pre>java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1185) java.base&#47;java.lang.Class.forName0(Native Method) java.base&#47;java.lang.Class.forName(Class.java:398) java.base&#47;sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) java.base&#47;sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) java.base&#47;java.lang.Class.getGenericInterfaces(Class.java:1137) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625) com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202) com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89) com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332) com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339) com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base&#47;java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base&#47;java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base&#47;java.lang.Thread.run(Thread.java:834) </pre><p><b>nota</b> La traza completa de la causa de este error se encuentra en los archivos de diario del servidor.</p><hr class="line" /><h3>Apache Tomcat/8.5.39 (Ubuntu)</h3></body></html>

from query2report.

moabdalla2030 avatar moabdalla2030 commented on May 24, 2024

same issue

from query2report.

kat0072 avatar kat0072 commented on May 24, 2024

Same issue.

I am unable to login as admin/admin.... @yogeshsd Can you please advise ?

<!doctype html><html lang="en"><head><title>HTTP Status 500 – Internal Server Error</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 500 – Internal Server Error</h1><hr class="line" /><p><b>Type</b> Exception Report</p><p><b>Message</b> Servlet.init() for servlet [LWR_REST] threw exception</p><p><b>Description</b> The server encountered an unexpected condition that prevented it from fulfilling the request.</p><p><b>Exception</b></p><pre>javax.servlet.ServletException: Servlet.init() for servlet [LWR_REST] threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base&#47;java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base&#47;java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base&#47;java.lang.Thread.run(Thread.java:829) </pre><p><b>Root Cause</b></p><pre>java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present java.base&#47;sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) java.base&#47;sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) java.base&#47;java.lang.Class.getGenericInterfaces(Class.java:1137) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625) com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202) com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89) com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332) com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339) com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base&#47;java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base&#47;java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base&#47;java.lang.Thread.run(Thread.java:829) </pre><p><b>Root Cause</b></p><pre>java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188) java.base&#47;java.lang.Class.forName0(Native Method) java.base&#47;java.lang.Class.forName(Class.java:398) java.base&#47;sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) java.base&#47;sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) java.base&#47;sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) java.base&#47;sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) java.base&#47;sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) java.base&#47;java.lang.Class.getGenericInterfaces(Class.java:1137) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629) com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625) com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202) com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89) com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332) com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339) com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base&#47;java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base&#47;java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base&#47;java.lang.Thread.run(Thread.java:829) </pre><p><b>Note</b> The full stack trace of the root cause is available in the server logs.</p><hr class="line" /><h3>Apache Tomcat/9.0.31 (Ubuntu)</h3></body></html>

from query2report.

roncking avatar roncking commented on May 24, 2024

I know that this is an old question, but I'll answer anyway. jaxb is not present in some of the later jdk/jvm version starting at version 11. I ran with jdk 8 and it works.

from query2report.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.