错误提示:Multiple annotations found at this line: basePath cannot be
出现以上错误,主要是由下面这句引起的:
<base href="<%= basePath %>">
但这句话似乎又没有任何问题。将这句话删除问题就得到了解决,而且对原来的网站没有影响。
经过在网上一番查找,总结如下:这个错误出现的原因是由自己在做jsp文件引入时引起的,文件加载合并过程中出现了代码加载重复的现象。经过阅读下面的文档则恍然大悟,原来自己删了JSP页面开头的代码,才会出现这样的问题。将源代码进行恢复则问题得到解决。
附:
JSP中<base href="<%=basePath%>">作用
通常在JSP页面开头有如下代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
这段代码的意思是获取当前项目的路径,如:http://localhost:8080/项目名称。
在<head></head>中通常有如下代码:
<base href="<%=basePath%>">
这是设置基础路径的,basePath为变量,简单的静态网页的话你设置比如:<base href="http://www.baidu.com">,那你下面的href属性就会以你上面设的为基准,如:<a href="http://www.baidu.com/xxx.htm"></a>你现在就只需要写<a href="xxx.htm"></a>
Address already in use: JVM_Bind <null>:8088
阿里云服务器又莫名其妙的宕掉!内存泄漏问题依然存在,又出现了端口占用的情况,以下为错误提示:
严重: Failed to initialize connector [Connector[HTTP/1.1-8088]]
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind <null>:8088
具体解决方法:
1.输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是8088,首先找到它。
2.查看被占用端口对应的PID,输入命令:netstat -aon|findstr "8088",回车,记下最后一位数字,即PID,这里是3732。
3.继续输入tasklist|findstr "3732",回车,查看是哪个进程或者程序占用了3732端口,结果是:java.exe
4.在任务管理器中,切换到进程选项卡,在PID一列查看3732对应的进程是谁或者直接查找java.exe进程,然后结束之。
- 点赞
- 收藏
- 关注作者
评论(0)