tomcat报java.lang.IllegalArgumentException: Document base E:\Dev\apache-tomcat-alims9999\webapps\tjal

 2015-4-27 16:17:35 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2015-4-27 16:17:35 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
2015-4-27 16:19:11 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2015-4-27 16:19:11 org.apache.catalina.core.StandardContext start
严重: Context [/alims] startup failed due to previous errors
2015-4-27 16:19:13 org.apache.catalina.core.StandardContext resourcesStart
严重: Error starting static Resources
java.lang.IllegalArgumentException: Document base E:\Dev\apache-tomcat-alims9999\webapps\tjalims does not exist or is not a readable directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4048)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4217)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2015-4-27 16:19:13 org.apache.catalina.core.StandardContext start
严重: Error in resourceStart()
2015-4-27 16:19:13 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2015-4-27 16:19:13 org.apache.catalina.core.StandardContext start
严重: Context [/tjalims] startup failed due to previous errors
2015-4-27 16:19:13 org.apache.catalina.core.StandardContext stop
信息: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/tjalims] has not been started
2015-4-27 16:19:14 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\Dev\apache-tomcat-alims9999\webapps\fid\WEB-INF\lib\SMSendAPI.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2015-4-27 16:19:29 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-9999
2015-4-27 16:19:29 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8010
2015-4-27 16:19:29 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/49  config=null
2015-4-27 16:19:29 org.apache.catalina.startup.Catalina start
信息: Server startup in 114784 ms
2015-4-27 16:21:16 org.apache.coyote.http11.Http11Protocol pause
信息: Pausing Coyote HTTP/1.1 on http-9999
2015-4-27 16:21:17 org.apache.catalina.core.StandardService stop
信息: Stopping service Catalina
2015-4-27 16:21:18 org.apache.coyote.http11.Http11Protocol destroy
信息: Stopping Coyote HTTP/1.1 on http-9999
2015-4-27 16:21:34 org.apache.catalina.core.AprLifecycleListener init








conf\Catalina\localhost里面有两个xml文件host-manager.xml、manager.xml,删掉他们在启动Tomcat就没问题了 
### 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、付费专栏及课程。

余额充值