Tomcat的错误 之 java.lang.IllegalArgumentException: Document base * does not exist

Tomcat的异常 之 java.lang.IllegalArgumentException: Document base

有些刚开始使用的Tomcat的朋友会出现的问题,明明已经将某个web应用从tomcat下的webapps下移除了,为什么还会抛这样的异常呢?

 

java.lang.IllegalArgumentException: Document base *** does not exist or is not a readable

directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3957)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4126)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
********

.................

其实这个问题很简单,tomcat的一个应用不只是那个文件夹而已...

 

详细操作应该是这样的:

确定3点:

1.该项目的War文件从***\apache-tomcat-6.0.16\webapps 中的内容全部移出;

2.该项目的某些配置从 ***apache-tomcat-6.0.16\work\Catalina\localhost 中的内容全部移除;

3.该项目的配置文件,目录: ***\apache-tomcat-6.0.16\conf\Catalina\localhost 中的内容全部移除。

转载于:https://www.cnblogs.com/beautifulFuture/p/3848388.html

### Tomcat 启动时遇到 `java.lang.IllegalArgumentException: Illegal base64 character 2d` 错误解决方案 当遇到 `java.lang.IllegalArgumentException: Illegal base64 character 2d` 错误时,通常意味着程序尝试解码一个不合法的 Base64 字符串。Base64 编码只允许特定字符集中的字符,而 `-` 并不在标准 Base64 字符集中。 #### 可能原因分析 1. **非法输入数据** 输入到 Base64 解码函数的数据包含了非 Base64 的字符,特别是连字符 (`-`) 或下划线 (`_`),这些字符常见于 URL-safe 版本的 Base64 编码[^3]。 2. **配置文件问题** 如果应用程序读取来自外部资源(如配置文件、数据库或网络请求)并试图将其作为 Base64 数据处理,则可能存在编码错误或污染的数据源[^2]。 #### 解决方案建议 ##### 方法一:验证和清理输入字符串 确保传递给 Base64 解码器的字符串确实是有效的 Base64 编码格式: ```java import java.util.Base64; public class Base64Validator { public static boolean isValidBase64(String input) { try { byte[] decodedBytes = Base64.getDecoder().decode(input); String encodedStringAgain = Base64.getEncoder().encodeToString(decodedBytes); return input.equals(encodedStringAgain); } catch (IllegalArgumentException e) { return false; } } public static void main(String[] args) { System.out.println(isValidBase64("SGVsbG8gV29ybGQh")); // true System.out.println(isValidBase64("Hello-World!")); // false } } ``` ##### 方法二:检查日志记录 查看完整的堆栈跟踪信息来定位具体哪一部分代码抛出了异常,并确认该部分逻辑是否正确处理了预期之外的情况[^1]。 ##### 方法三:更新依赖项版本 有时第三方库可能会引入此类型的 bug;因此保持所有使用的库处于最新稳定版也是很重要的措施之一[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值