当前位置: 首页 > 知识库问答 >
问题:

嵌入式Tomcat 7.0.32启动罐扫描程序

孔茂
2023-03-14

我将Tomcat 7.0.32嵌入到一个水槽源代码中。我遇到的问题是Flume在类路径上放置了大量的东西,在启动时,Tomcat会扫描类路径寻找TLD,这是因为Flume使用通配符而导致的问题。

信息:启动Servlet引擎:Apache Tomcat/7.0.32 Nov.052012 8:21:08 AM org.Apache.catalina.startup.tldconfig tldScanJar警告:未能处理JAR[JAR:file://opt/mapr/hadoop/hadoop-0.20.2/hadoop*core*.JAR!/]for TLD文件java.io.fileNotFoundException://opt/mapr/hadoop/hadoop-0.20.2/hadoop*core*.JAR(没有这样的文件或目录)。pfile.(zipfile.java:144)在java.util.JAR.jarfile.(jarfile.java:152)在java.util.JAR.jarfile.(jarfile.java:89)在sun.net.www.protocol.JAR.urljarfile.(urljarfile.java:93)在sun.net.www.protocol.JAR.urljarfile.(urljarfile.java:69)在sun.net.www.protocol.JAR.urljarfile.getjarfile.java:88)在getJarFile(jarurlConnection.java:89)位于org.Apache.tomcat.util.scan.fileurlJar.(fileurlJar.java:41)位于org.Apache.tonewinstance(jarfactory.java:34)在org.apache.catalina.startup.tldconfig.tldscanjar(tldconfig.java:487)在org.apache.catalina.startup.tldconfig.access$100(tldconfig.java:58)在org.apache.catalina.startup.tldconfig$tldconfig.java:303)在org.apache.tomcat.util.scan.standardjarscanner.process(standardjarscanner.java arscanner.java:204)位于org.apache.catalina.startup.tldconfig.execute(tldconfig.java:277)

在我的代码中,我尝试禁用这种扫描,甚至尝试在上下文中将JarScanner设置为null。而这也于事无补。下面是我的代码:

File docBase = new File(System.getProperty("java.io.tmpdir"));
    System.out.println("------- " + docBase.getAbsolutePath());

    String servletName = "1 source";

    Tomcat tomcat = new Tomcat();
    tomcat.setPort(8080);
    tomcat.setBaseDir(docBase.getAbsolutePath());

    Context context = tomcat.addContext("", docBase.getAbsolutePath());
    context.setIgnoreAnnotations(true);
    context.setJarScanner(null);

    Tomcat.addServlet(context, servletName, new HttpServlet() {

共有1个答案

伯丁雷
2023-03-14

试试这个!Context Context=tomcat.addwebapp(“/d”,“d:/”);JarScanner JarScanner=new JarScanner(){

        @Override
        public void scan(ServletContext arg0, ClassLoader arg1,
                JarScannerCallback arg2, Set<String> arg3)
        {
            //do nothing
        }
    };
    context.setJarScanner(jarScanner);
 类似资料:
  • 您可以通过Burp 控制台(Burp Dashboard)上的新的扫描(New scan)按钮或是 Burp 中出现的菜单中的Scan选项来启动扫描。利用这些方法可打开扫描启动窗口,然后您可以使用它配置扫描中的各种详细参数。 扫描细节 扫描启动界面的详细的扫描信息(Scan details)部分允许您选择扫描类型,配置要扫描的内容等等信息。 扫描类型 您可以选择以下扫描类型: 抓取并审计(Craw

  • 我正在编写一个新的SpringBoot项目,其中我的根包名是“com.example”。在我的gradle配置中,我添加了一个第三方库的依赖项,它的根包名为“org.base”。现在,这个库中有带有@Component注释的类,我想在代码中使用@Autowired 在我的配置类中,我也扫描第三方库的基本包。 当我运行应用程序时,spring无法从这个库中找到/创建bean,我得到了一个bean n

  • 我对spring boot相当陌生,正在尝试使用Java持久性API hibernate mySQL持久性层构建spring boot应用程序。但当我试图使用entityManager获取所有记录时。createNamedQuery(“从学生s中选择*”,学生.class)。getResultList()它给了我以下异常。 Java语言lang.IllegalArgumentException:未

  • 2017年11月9日下午2:21:22 org.apache.coyote.abstractProtocol start Info:Starting ProtocolHandler[“http-nio-8080”]2017年11月9日下午2:21:30 org.jboss.resteasy.core.exceptionHandler严重:未能执行javax.ws.rs.NotFoundExcept

  • 我有一个CI工作流,它集成了一个linting作业和一个代码质量作业。我的Linting工作是docker runner从应用程序代码启动我的eslint脚本。然后,我的代码质量工作应该是启动一个sonar scanner docker实例,检查我的代码并将报告发送回sonarqube实例。 问题主要在于我无法使用以下两种解决方案正确启动声纳扫描仪: Sonar Scanner Dockerhtt

  • 尝试启动Tomcat时出现一个通用错误。下面是StackTrace: 下面是POM:http://maven.apache.org/maven-v4_0_0.xsd“>4.0.0 edu.rutgers spring-social-orcid-client-boot spring-social-orcid-client-boot 1.1.0 多谢了。