使用idea2019阶段报的一些错:

1、'xxxServlet' is not assignable to 'javax.servlet.Servlet'

解决方案:把tomcat加入classptah!

2、Error:Internal error: (java.lang.IllegalAccessError) class com.intellij.util.io.FileChannelUtil (in unnamed module @0x15761df8) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x15761df8

解决方案:
解决JDK9以上的非法反射访问警告_氷泠的博客-CSDN博客_jdk9 反射

OLP CLI error: java.base does not export sun.security.util to unnamed module under JDK 16

基于以上两个pages等内容,我在虚拟机加了两个参数--illegal-access=permit --add-opens java.base/java.lang=ALL-UNNAMED

我的浅见:出现这个问题,应该是jdk的锅,好像是高版本的jdk不允许使用反射等来访问其一部分的内容,为了安全性

3、Error:Internal error: (java.lang.NoClassDefFoundError) Could not initialize class com.intellij.util.io.FileChannelUtil
[java - Problem with IntelliJ - Cannot run simple Spring Application - Stack Overflow](https://stackoverflow.com/questions/66764737/problem-with-intellij-cannot-run-simple-spring-application)

我的浅见:这是最致命的问题,我无论怎么折腾都是这个问题,我甚至在网路上找不到任何相同的案例。中途我卸载重装了我的idea2019.3.3,卸载重装jdk17,依然无解。最后抱着试一试的心态,卸载idea2019后安装了idea2020,居然就不再报这个错了。

我的浅见:进行项目的搬迁是一件不容易的事,本来我以为可以直接借助idea的重构,就自动完成。没想到后面还是要十几个项目一个个来,在拷贝到别的地方后,每一个都要手动把目录变为模块,添加类库,添加facet,添加artifact,配置tomcat。完成这些只是基本,后面还要面临随时会冒出来的各种报错

更换为idea2020阶段后报的一些错:

1、 org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["ajp-nio-8009"]报错

Problem context:把idea2019换成idea2020后,终于能成功运行之前迁移过来的项目和模块,之前报的错都是网上找不到的。现在模块能运行了,但每次都会出现下面这堆东西

点击查看折叠代码块

27-Mar-2022 11:18:38.675 严重 [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["ajp-nio-8009"]
java.lang.IllegalArgumentException: timeout < 0
at java.base/sun.nio.ch.ServerSocketAdaptor.setSoTimeout(ServerSocketAdaptor.java:162)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:352)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:823)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:476)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:568)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:871)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:592)
at org.apache.catalina.startup.Catalina.load(Catalina.java:615)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:308)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:482)

27-Mar-2022 11:18:38.675 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[AJP/1.3-8009]]

org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-8009]]

at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)

at org.apache.catalina.core.StandardService.initInternal(StandardService.java:568)

at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)

at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:871)

at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)

at org.apache.catalina.startup.Catalina.load(Catalina.java:592)

at org.apache.catalina.startup.Catalina.load(Catalina.java:615)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:308)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:482)

Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed

at org.apache.catalina.connector.Connector.initInternal(Connector.java:962)

at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)

... 12 more

Caused by: java.lang.IllegalArgumentException: timeout < 0

at java.base/sun.nio.ch.ServerSocketAdaptor.setSoTimeout(ServerSocketAdaptor.java:162)

at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:352)

at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:823)

at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:476)

at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)

... 13 more

解决方案:把tomcat的conf下的servlet.xml的<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>给注释掉,然后就不报错了。

2、 现在大部分模块能运行了,但有一些模块运行的时候,虽然部署服务成功,但控制台会出现如下错误(以我的模块04_hellojsp为例):

描述:这种错误的一个特点是,虽然访问index.jspbao会500,但对其他的一些资源的访问是正常的

点击查看折叠代码块

27-Mar-2022 14:28:25.695 严重 [http-nio-8080-exec-1] org.apache.jasper.compiler.JDTCompiler$1.findType Compilation error
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.(ClassFileReader.java:406)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:238)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:210)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:174)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:145)
at org.eclipse.jdt.internal.compiler.lookup.Scope.findType(Scope.java:1926)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3254)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(Scope.java:2192)
at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getBinding(BlockScope.java:485)
at org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.resolveType(QualifiedNameReference.java:999)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:636)
at org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:1026)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:117)
at org.eclipse.jdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:404)
at org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:130)
at org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:1073)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:634)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:306)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:544)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1195)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1308)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:593)
at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:867)
at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:550)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:462)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:417)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:485)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:363)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:338)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:325)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:580)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1156)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)

与此同时,首次启动服务器后,跳出的http://localhost:8080/04_hellojsp_war_exploded/也会报错如下

后面如果手动进入http://localhost:8080/04_hellojsp_war_exploded/index.jsp,报错如下:

解决方案:把jsp里面的`System.out.println(i);`的`System.`去掉,因为> jsp中不能用System.out.println()而要用out.println()

<%

for(int i=0;i<10;i++){

//在Java控制台输出

out.println(i);

}

%>

我的疑问:为什么以前没有发现这个问题,现在把项目、模块搬迁了,把idea换为2020,tomcat从8.5.xx换成8.0.52,才发现呢?还是说之前没有问题,现在才有了问题?问题依然没有得到解决,

3、在jsp导入自建类报错:The import XXX cannot be resolved

解决方案:清除缓存,重启idea,<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.com.com.User" %>的User就不爆红了

4、import sun.misc.BASE64Encoder时爆红,以及相关的一系列问题:

IDEA sun.misc.BASE64Encoder报错 - moonsoft - 博客园

解决方案:把代码注释掉,并参照这个page的做法进行修改,改为使用import java.util.Base64。

我的疑问:为什么以前没报错,现在才报错呢?问题依然没有得到解决,
同时在本项目引申出一个新问题:fileItem.write(new File("D:/"+fileItem.getName()));这里如果不给出路径,默认路径是哪里?我没有在工程路径下面找到我想要的结果

5、总结一下后面遇到的其他的小问题,依旧是jsp不能使用sout的问题。其次就是一些琐碎的事情,比如

用ajaxGET的网址,本机名的和localhost居然不同源;

以及有部分的模块需要改一改_war_exploded的后缀(因为之前改过才需要改)

后续:补充一下在早期,在idea上另一个折腾了很久的事情,就是.idea文件夹的不显示。后面的解决方法是,在工程(workspace)里面建一个模块a,在模块a里面再建需要建的各个模块。工程——元模块——模块的嵌套顺序。

我在迁移我的IDEA的项目、模块等东西的过程中发生过的一部分问题的我的一部分的记录以及我的解决方案如下的更多相关文章

  1. nodejs备忘总结(一) -- node和express安装与配置,新建简单项目(附安装配置过程中遇到问题的解决方法)

    安装node 本文以安装node_v8.9.0为例(win10环境),下载node-v8.9.0-x64.msi插件 下载后,安装,安装目录默认为C:\Program Files\nodejs 配置环 ...

  2. 学习Nodejs:《Node.js开发指南》微博项目express2迁移至express4过程中填的坑

    <Node.js开发指南>项目地址https://github.com/BYVoid/microblog好不容易找到的基础版教程,但书中是基于express2的,而现在用的是express ...

  3. 将svn的项目转移到另外一个仓库中

    前几天在做一个项目的时候,因为需要,需要将Server A 上SVN仓库 repos1中的项目pro1迁移到Server B 上的SVN仓库中,首先想到的是:通过复制,但是仔细一想,这样是不可能的:然 ...

  4. 将arcEngine9.3和dev9.2.4开发的项目升级成arcObject10.2和dev15.1.3过程中遇到的问题和解决

    好久没碰.net了,arcgis更是感觉都忘干净了,今天将arcEngine9.3和dev9.2.4开发的一个项目升级成arcObject10.2和dev15.1.3过程中遇到了一系问题,留个笔记,留 ...

  5. C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系

    我们在开发微信相关的应用的时候,一般需要完善的基础模块支持,包括微信公众号,微信企业号,以及一些业务模块的支持,一般随着功能的增多,我们需要非常清晰的界定他们的关系.模块的分拆以及合并往往需要考虑的代 ...

  6. C# 项目提交过程中感受

    C# 项目提交过程中感受 新到一家互联网公司,昨天第一次提交代码,遇到了不少问题,而且大多数是代码格式问题,特此将范的错误记录下来,自我警示. 1. 代码对齐,这个虽然一直也都在注意,不过还是有一行代 ...

  7. [转]使用Maven添加依赖项时(Add Dependency)时,没有提示项目可用,并且在Console中,输出: Unable to update index for central|http://repo1.maven.org/maven2 。

    使用Maven添加依赖项时(Add Dependency)时,没有提示项目可用,并且在Console中,输出: Unable to update index for central|http://re ...

  8. log4j 日志信息的引入(通用版)——解决项目运行过程中的日志信息

    定义 log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程 ...

  9. 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

    我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...

  10. 跟我extjs5(03--在项目过程中加载文件)

    跟我extjs5(03--在项目过程中加载文件) 上一节中用sencha工具自己主动创建了一个项目.而且能够在浏览器中查看. 如今我们来看看js类载入过程. 例如以下图所看到的: watermark/ ...

随机推荐

  1. js转换文件的size由KB转换为B、MB、GB

    // 单位转换export function bytesToSize(sizes) { let mYsize = sizes if(mYsize == 0) return 0 + 'B'; if(mY ...

  2. QDateEdit

    self.dateEdit.setCalendarPopup(True) # 日历增加 # 日历转化位str类型begintime = self.dateEdit.dateTime().toStrin ...

  3. 如何修改Mac文件默认打开方式?

    熟悉Mac电脑的用户都知道,在 OS X 中,Finder 存储的文件总会以指定的某个默认应用程序打开,比如图片类型的文件默认以「预览」打开.但由于经常需要使用图片编辑工具 PS打开图片类型的文件,每 ...

  4. express的使用:路由、中间件(二)

    13.路由 1.express中的路由指客户端的请求与服务器处理函数间的映射关系 2.express中的路由由请求的类型,请求的URL地址,处理函数组成 3.app.METHOD(PATH,HANDL ...

  5. js字符串截取(获取指定字符后面的所有字符内容)

    function getCaption(obj, text){ let index = obj.lastIndexOf(text) + text.length-1; obj = obj.substri ...

  6. pandas学习之 - excel篇

    一.读取Excel文件 read_excel()  # 读取excel文件(需要安装xlrd和openpyxl两个模块) 1.方法使用了Python的 xlrd 模块来读取Excel2003(.xls ...

  7. 【2020NOI.AC省选模拟#8】C. 海盗

    题目链接 原题解: 可以发现,在给定的规则下,若前$i$个人参与分配,则每个人得到的金币个数是固定的. 假设在前$i-1$个海盗参与分配时,某个海盗能得到$x$个金币,则第$i$个海盗需要给他$x+1 ...

  8. linux配置定时备份mysql数据库

    1.创建备份目录 # mkdir /mydata/bak2.创建备份脚本 # vi /usr/sbin/bakmysql.sh #!/bin/bash #Name:bakmysql.sh #This ...

  9. 天龙八部<三联版>三

    虚竹经历这么多事情,只想回少林寺,在面馆遇到出来玩的阿紫被阿紫调戏而破了荤戒.随后丁春秋到来,抓到阿紫,恰好慕容复也来到面馆,二人相斗,阿紫在打斗过程中被丁春秋刺瞎双眼,但却被游坦之救走, 最后慕容复 ...

  10. mysql安装及可视化界面

    Mysql下载安装 官网下载链接 https://dev.mysql.com/downloads/mysql/ 可以选择之前的版本 我一开始下的8.0.21但安装的时候报错说找不到VCRUNTIME1 ...