You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

tomcat配置不扫描jar包

Tomcat是一种常用的Web服务器,我们在开发Web应用时通常会将依赖的jar包放在WEB-INF/lib目录下,这些jar包会被Tomcat扫描并加入到Web应用的classpath中。但有时我们可能并不希望Tomcat扫描某些jar包,本文将介绍如何配置Tomcat不扫描jar包。

一、使用Jar Scanner

Tomcat提供了一个Jar Scanner API,可以通过编写Java代码来配置Tomcat的Jar扫描器,实现不扫描某些jar包。在ServletContextListener中可以完成该操作,示例代码如下:

public class DisableJarScanner implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        JarScanner jarScanner = ((StandardJarScanner) sce.getServletContext().getWebappClassLoader().getParent()).getJarScanner();
        if (jarScanner instanceof StandardJarScanner) {
            ((StandardJarScanner) jarScanner).setScanClassPath(false);
            ((StandardJarScanner) jarScanner).setScanBootstrapClassPath(false);
            ((StandardJarScanner) jarScanner).setScanAllDirectories(false);
            ((StandardJarScanner) jarScanner).setScanAllFiles(false);
            ((StandardJarScanner) jarScanner).setScanManifest(false);
        }
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {

    }
}

在这个示例中,我们禁用了标准Jar扫描器的五个扫描选项:ScanClassPath、ScanBootstrapClassPath、ScanAllDirectories、ScanAllFiles和ScanManifest。这样Tomcat就不会扫描Web应用中的所有Jar包了。

二、在Tomcat的配置文件中设置

Tomcat也提供了配置文件方式来配置Jar扫描器。在Tomcat的catalina.properties文件中,可以设置disableJarScan属性的值为true。

# Disable scanning jars at startup
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
tomcat.util.scan.StandardJarScanFilter.jarsToScan=*.jar
# Disable directory scanning at startup
tomcat.util.scan.StandardJarScanFilter.directoriesToSkip=WEB-INF/classes
# Disable TLD scanning
tomcat.util.scan.DefaultTldScanner.jarsToSkip=*.jar
tomcat.util.scan.DefaultTldScanner.jarsToScan=*.jar
# Disable JDBC jar scanning
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
# Disable annotation scanning at startup
tomcat.util.scan.StandardJarScanFilter.jarsTo
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
证书中心是一款数字证书全生命周期管理平台,为网站、应用和小程序提供 HTTPS 安全解决方案

社区干货

2022技术盘点之平台云原生架构演进之道|社区征文

云安全产品防护:借助腾讯SaaS安全产品括安全体检(漏洞扫描、挂马检测、网站后门检测、端口安全检测等)、安全防御(DDoS 防护、入侵检测、访问控制来保证数据安全与用户隐私)以及安全监控与审计,形成事前、事中、事后的全过程防护;- 业界主流安全工具平台赋能:如:KubeLinter/Kubescape/Nessus/Sonarqube/AppScan等,严格把控平台从设计、开发、测试、部署、上线、运维等各流程安全,将SecDevOps贯彻在平台生命周期中,确保平台他...

Maven依赖冲突避坑指北

将图形设置为实际尺寸或放大,可以看到每个红线的指向,即冲突的依赖,但这样的红线,多得数不胜数。那么,我姑且用"**依赖健康度** "来衡量冲突的严重程度吧,虽然业界暂时没有类似手机清理管家那种扫描服务依赖健康度... C两个依赖的jar包,然后放到工程目录中,就像这样:``` A ├── lib │ ├── B.jar │ └── C.jar └── src ...

达梦@记一次国产数据库适配思考过程|社区征文

扩展:若是需要从本地deploy到nexus或是先获取本地仓库.m2的包->nexus仓库的包->aliyun maven仓库的包,为了解决开发过程中jar包拉取异常等问题,则在maven中settings.xml中可这样去配置:``` D:/.m2 nexus * yd nexu... 声明为spring的配置类)、@EnableAutoConfigurationspringboot(启动最关键的注解)、@ComponentScan(对包进行扫描)**1**、其中@EnableAutoConfiguration注解会读取所有classpath:META-INF/Spring.factories,取key为...

基于 Agent 的无侵入 Proxyless Mesh:开启 Java 服务网格的未来

配置管理的能力,兼容原生 Spring Cloud 、gRPC及 Service Mesh 架构丰富微服务治理能力,助力用户快速构建稳定、安全、高效云原生微服务体系。来源 | 云原生服务治理团队 **微服务的历史与演变** 微服务是一种软件架构设计模式,通过微服务,大型应用可以被拆分成多个独立的小组件,以便于构建、测试、部署和更新。自 2014 年概念被提出以来,它经历了几个主要的发展阶段:第一阶段是...

特惠活动

DigiCert证书免费领取

每人免费申请20本SSL证书,快速下发,适用网站测试
0.00/3月0.00/3月
立即领取

SSL证书首年6.8元/本

超高性价比,适用个人与商业网站,分钟级签发
6.80/首年起68.00/首年起
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

tomcat配置不扫描jar包-优选内容

搭建Java Web环境
本文以Tomcat为例,为您介绍如何在Linux实例上部署Java Web环境。 软件版本操作系统:本文以CentOS 7.6为例。 Tomcat:Web应用服务器,本文以为Tomcat 8.5.82例。 JDK:Java开发工具,本文以JDK 18.0.2.1例。 前提条件... $JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jarexport JAVA_HOME JRE_HOME PATH CLASSPATH 按“Esc”,输入“:wq”,保存文件并返回。 执行以下命令,使profile文件中新增配置生效。source /etc/profile 执行以下命...
创建和部署托管应用(JAR /WAR)
本文为您介绍如何通过 JAR /WAR 包快速创建一个 Java 应用,并部署至 Kubernetes 集群。 前提条件已准备好应用的 JAR /WAR 包。 已接入待部署的 Kubernetes 集群,具体操作请参见 接入部署资源。 注意 若选择弹... 创建后不可更改。 应用显示名 自定义应用的显示名称。 应用技术栈 本场景选择 Java。 描述 填写当前应用的备注信息,可以为空。 成员管理 快捷配置当前应用的成员,并为每个成员配置不同的权限,满足多角色协作进行应...
2022技术盘点之平台云原生架构演进之道|社区征文
云安全产品防护:借助腾讯SaaS安全产品括安全体检(漏洞扫描、挂马检测、网站后门检测、端口安全检测等)、安全防御(DDoS 防护、入侵检测、访问控制来保证数据安全与用户隐私)以及安全监控与审计,形成事前、事中、事后的全过程防护;- 业界主流安全工具平台赋能:如:KubeLinter/Kubescape/Nessus/Sonarqube/AppScan等,严格把控平台从设计、开发、测试、部署、上线、运维等各流程安全,将SecDevOps贯彻在平台生命周期中,确保平台他...
Maven依赖冲突避坑指北
将图形设置为实际尺寸或放大,可以看到每个红线的指向,即冲突的依赖,但这样的红线,多得数不胜数。那么,我姑且用"**依赖健康度** "来衡量冲突的严重程度吧,虽然业界暂时没有类似手机清理管家那种扫描服务依赖健康度... C两个依赖的jar包,然后放到工程目录中,就像这样:``` A ├── lib │ ├── B.jar │ └── C.jar └── src ...

tomcat配置不扫描jar包-相关内容

新功能发布记录

部署能力 在支持 JAR/WAR 二进制部署的基础上,新增支持其他技术栈语言的二进制包部署能力,支持各语言使用传统的二进制包方式完成容器化应用交付。 全部 2024-03-14 创建和部署托管应用(二进制包) 应用删除优化 删... 避免重复配置,提升易用性。 全部 2024-01-11 流水线变量组 支持按用户组授权工作区可见范围 工作区对接 IAM 用户组,支持按用户组授权工作区可见范围,方便团队进行整体赋权。 全部 2024-01-11 创建工作区 代码源敏感...

达梦@记一次国产数据库适配思考过程|社区征文

扩展:若是需要从本地deploy到nexus或是先获取本地仓库.m2的包->nexus仓库的包->aliyun maven仓库的包,为了解决开发过程中jar包拉取异常等问题,则在maven中settings.xml中可这样去配置:``` D:/.m2 nexus * yd nexu... 声明为spring的配置类)、@EnableAutoConfigurationspringboot(启动最关键的注解)、@ComponentScan(对包进行扫描)**1**、其中@EnableAutoConfiguration注解会读取所有classpath:META-INF/Spring.factories,取key为...

系统管理

详细配置项和说明请参见下表。 配置项 说明 用户名 必须为中文字符、字母、数字、下划线“_”、点“.”或短横“-”,最大长度64字符。 启用 点击启用后的开关,设置添加用户后是否立即启用用户。 角色 指定用户角色,括内置角色和用户自定义角色,必填。 密码/确认密码 创建并确认新建用户的登录密码。密码长度6~64位,当启用强密码功能后需符合密码强度要求。修改密码时新旧密码不能相同。 手机号 设置用户的手机号。...

DigiCert证书免费领取

每人免费申请20本SSL证书,快速下发,适用网站测试
0.00/3月0.00/3月
立即领取

SSL证书首年6.8元/本

超高性价比,适用个人与商业网站,分钟级签发
6.80/首年起68.00/首年起
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

常见问题

也有jar包的漏洞或者py包漏洞信息。 漏洞可以在火山引擎CWPP上自动修复吗? 不可以,因为需要业务排查是否存在兼容性问题,自动升级会存在一定风险,建议联系业务方经确认后再进行升级修复操作。 我该如何判断漏洞修复优先级呢? 可以通过漏洞级别和是否存在EXP来判断,以及存在风险的资产重要程度,暴露程度等综合分析。 资产相关资产数据如资产列表是实时的吗?为什么我部署完后平台上没有显示? 存在一定时间的延迟才会自动采集,如果想...

基于 Agent 的无侵入 Proxyless Mesh:开启 Java 服务网格的未来

配置管理的能力,兼容原生 Spring Cloud 、gRPC及 Service Mesh 架构丰富微服务治理能力,助力用户快速构建稳定、安全、高效云原生微服务体系。来源 | 云原生服务治理团队 **微服务的历史与演变** 微服务是一种软件架构设计模式,通过微服务,大型应用可以被拆分成多个独立的小组件,以便于构建、测试、部署和更新。自 2014 年概念被提出以来,它经历了几个主要的发展阶段:第一阶段是...

云原生时代下,如何应对容器面临的各类风险?

不安全的配置、恶意代码植入等; 不安全的镜像来源,不少源镜像来自第三方组织、个人,源镜像版本老旧甚至已经被投毒; 第三方开发组件的安全风险,应用软件的第三方依赖(jar)存在安全漏洞等。 业务环境镜像中的各... 不安全配置引起账户管理问题导致系统入侵、不同安全级容器混合部署导致高安全级容器面临入侵风险、资源使用不设限导致拒绝服务攻击、访问策略配置不当导致非法访问。 传统的安全技术手段,如漏洞扫描工具、EDR、安全...

2023 平台云原生探索与实践|社区征文

在最开始多个服务以 Jar 包部署在主机上,通过简单的 Jar 启动,或者 Supervisor 监控维护单进程,但是在不同环境,系统表现出不同异常,混乱不一致的环境导致不同部门及开发和测试直接耗费非常大的精力排查测试,很大程... 将微服务及其所需的所有配置、依赖关系和环境变量打包成容器镜像,确保 Dev/Test/Prod 均采用容器部署,使得经过 Test 的镜像可以保障线上环境的一致性,从而极大的提升了产品迭代速度。![picture.image](https://...

精选文章|设计一个“高效”的字节码插桩框架

通常我们需要根据不同的需求并考虑开发效率和代码运行效率来选择使用ASM或者是AspectJ。这里的源项目模块是指我们通常理解的被包含在最终编译产物(.jar)中的代码,以Android项目为例,即表示最终会被打包进AP... 这样后续如果遇到相似的行为就不需要重复开发了。 在开发效率方面,还有一个需要考虑的点是插件对项目的编译效率的影响,如果你的项目较复杂Jar包比较多,在Class字节码处理时还需要进行一些优化(缓存、增量编译、...

得物API元数据中心探索与思考

读取插件的信息配置,主要包括Mooncake的项目信息,人员的域账号等。从而能够获取Mooncake的分类数据,以及接口的变更人员。``` // 解析misc配置文件`File miscFile = new File(editor.getProject().getProjectFi... 并下载相应的Jar包进行更新,**费力度高**。针对以上可能存在的问题,得物技术通过搭建私有仓库方式,最终实现了插件更新方案,如图所示:![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-t...

特惠活动

DigiCert证书免费领取

每人免费申请20本SSL证书,快速下发,适用网站测试
0.00/3月0.00/3月
立即领取

SSL证书首年6.8元/本

超高性价比,适用个人与商业网站,分钟级签发
6.80/首年起68.00/首年起
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

从ClickHouse到ByteHouse
关于金融、工业互联网,都有对应的场景特性、解决策略、实践效果具体呈现,相信一定能解决你的诸多疑惑
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询