使用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. yolov4 编译

    参考教程:https://blog.csdn.net/weixin_45102257/article/details/108872951 问题: ![image](https://img2022.cn ...

  2. Mysql数据库基础第二章:(十)联合查询

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  3. 怎么在Windows系统中制作Mac系统U盘启动盘?

    想要在Windows系统的电脑中制作Mac系统的U盘启动盘 操作方法: 请预先安装好TransMac并输入注册码) 插入U盘或其它存储介质: 以管理员身份运行TransMac: 在左侧的设备列表中右键 ...

  4. idea使用EasyCode集成ruoyi框架自动生成代码

    1.ruoyi框架源码获取 https://gitee.com/zhangmrit/ruoyi-cloud/tree/nacos/ 2.需要ruoyi调整部分代码 public class BaseC ...

  5. Godot从编辑器创建自定义场景类型对象

    Godot的编辑器提供了强大的所见即所得功能,并且,我们可以在不从源码编译的情况下,为编辑器提供新的节点类型. 首先,我们创建一个新场景,然后添加一个Node2D,然后为当前节点(Node2D)添加一 ...

  6. mumu模拟器pin码忘记,如何找回

    1.进入mumu安装目录:D:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin 2.通过cmd进入mumu的bin目录,输入命令:adb_ser ...

  7. 如何避免reblance

    reblance是什么? 什么时候会发生rebalnce? 如何尽量避免这些情况? 若不可避免的要发生reblance?怎么尽量减少影响? reblance是什么? Reblance是Kafka协调者 ...

  8. JLink OB SWI 取代串口打印的方式

    1:debug的串口被占用 2:从Keil 迁移到的LINUX下开发. 3:手上只有JLinkOB,(4线:CLK,SWIO,GND,RST) 4:设备只引出了4线(SWO 没接出) 环境: JLin ...

  9. vue安装与卸载

    一.安装最新版本 npm install -g @vue/cli 或 yarn global remove vue-cli 查看版本 vue --version 或 vue -V 二.vue-cli( ...

  10. entries

    let arr = [1,2,3,4,5,6,7]; for (let [index, leaflet] of arr.entries()){ console.log(index,leaflet) }