工作和学习遇到的技术问题

写在前面

记录工作和学习遇到的技术问题,以求再次遇到可以快速解决。

1:Ubuntu TSL换源报错:Err:1 http://mirrors.aliyun.com/ubuntu focal InRelease

执行如下操作(已经操作的则忽略),首先在文件/etc/apt/sources.list中增加如下内容:

复制代码
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

然后在文件/etc/resolv.conf中增加如下内容:

复制代码
nameserver 8.8.8.8
nameserver 114.114.114.114

最后执行如下命令:

复制代码
sudo apt-get update
sudo apt-get upgrade

2:idea启动项目提示端口占用

有时候当我们使用Tomcat启动web项目时,会提示端口占用,导致启动失败,可能出现端口冲突的配置如下图:

有时候确实是端口占用,有时候端口实际是并没有占用的,接下来我们一起看下不同情况下该如何处理。

2.1:端口实际被占用

这种情况比较好处理,直接找到占用端口的进程,然后kill就行了,具体可以参考window查找端口占用并杀死进程

2.2:端口并没有被占用

首先可以考虑是因为Java程序异常终止,但是进程并没有完全释放导致,此时可以打开资源管理器,找到所有的java.exe,然后强制结束任务,如下图:

如果依然不行,可以考虑是否因为开启了hyper v虚拟化,此时使用的端口段将无法被使用,可以使用命令netsh interface ipv4 show excludedportrange protocol=tcp查看是否为这种情况:

如果是这种情况,修改为不在保留端口范围内的其他端口号即可。

3:启动服务提示端口占用

3.1:首先找到端口进程

这里以端口号1099为例说明。

复制代码
C:\Users\Administrator>netstat -ano | findstr "1099"
  TCP    0.0.0.0:1099           0.0.0.0:0              LISTENING       17412
  TCP    [::]:1099              [::]:0                 LISTENING       17412

可以看到占用的进程号是17412

3.2:杀掉进程

这里杀死第一步骤查到的进程号17412

复制代码
C:\Users\Administrator>taskkill -PID 17412 -F
成功: 已终止 PID 为 17412 的进程。

4:sudo unable to resolve host test : Name or service not known

这种错误一般是因为我们通过编辑/etc/hostname修改了主机名,但是没有在/etc/hosts配置对应的127.0.0.1 hostname的映射,进行配置即可,如下图:

5:ERR unknown command CONFIG

一般是Redis服务器处于安全考虑禁用了该redis命令,如下注释掉rename-command即可:

生产环境,keys,flushDB,flushAll等耗费大量资源以及会删除大量数据的命令,处于安全考虑一般会进行rename。

6:idea普通模式可以启动但是debug模式无法启动

可能是有断点,将断点全部删除,然后再尝试,应该就没问题了。

7:idea各种乱码(console,maven,tomcat等)

统一u8,如下检查:

7.1:系统设置为u8

7.2:设置idea

File->Setting:

7.3:设置maven

设置<encoding>UTF-8</encoding>后,相当于执行javac -encoding utf-8 xxx.java,即告诉Maven,用u8给我编译源文件。

xml 复制代码
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

8:Maven 执行命令报错resolution will not be reattempted until the update inter val of public has elapsed or updates are forced

这种错误一般是因为Maven没有更新老的jar包导致(默认一天更新一次),可采用如下两种方式,即命令行更新(建议这种),每次更新(不建议,因为老的jar一般是不动的,每次更新会增加时间消耗)

复制代码
1:命令行更新
mvn clean install -U

2:每次更新
<repositories>
   <repository>
     <id>xr-snapshots</id>
 	  <url>http://nexus.alibaba.com/repository/snapshots/</url>
     <snapshots>
       <enabled>true</enabled>
       <!-- 注意 -- >
       <updatePolicy>always</updatePolicy>
     </snapshots>
     <releases>
       <enabled>false</enabled>
       <!-- 注意 -- >
       <updatePolicy>always</updatePolicy>
     </releases>
   </repository>
 </repositories>

<pluginRepositories>
   <pluginRepository>
     <id>xr-plugins</id>
     <name>xingren plugins</name>
     <url>http://nexus.alibaba.com/repository/public/</url>
     <releases>
     	<enabled>true</enabled>
     	<!-- 注意 -- >
     	<updatePolicy>always</updatePolicy>
     </releases>
      <snapshots>
      	<enabled>true</enabled>
      	<!-- 注意 -- >
      	<updatePolicy>always</updatePolicy>
      </snapshots>
   </pluginRepository>
</pluginRepositories>

9:idea Error:(3, 38) java: 程序包org.springframework.stereotype不存在

按照如下步骤设置:

执行mvn idea:idea:

10:javac编译输出结果乱码

如下乱码:

复制代码
D:\test>D:\\program_files\\many_version_jdk\\jdk1.8.0_202\\bin\\javac encoding utf-8 GCLogAnalysis.java
javac: Чı: utf-8
÷: javac <options> <source files>
-help гܵѡ

一般指定编译器使用u8编码即可,如下:

复制代码
D:\test>D:\\program_files\\many_version_jdk\\jdk1.8.0_202\\bin\\javac -encoding utf-8 GCLogAnalysis.java
D:\test>

11:java命令执行乱码

如下:

复制代码
D:\test>java GCLogAnalysis
ִ...
ִн!ɶ:18523

通过-Dk=v配置编码,如下:

复制代码
D:\test>java -Dfile.encoding=utf-8 GCLogAnalysis
正在执行...
执行结束!共生成对象次数:18915

12:idea导入项目后没有被识别为maven项目的解决办法

  • 1、首先点击工具栏最左边的 Help 再点击 Find Action ;
  • 2、接着在输入框中输入 maven projects ,会弹出一个 Add Maven Projects 选项,点击即可,会弹出下图的弹窗
  • 3:选择本项目的 pom.xml 点击 OK 即可解决!

    点鸡

13:idea导入项目后卡在reading pom.xml

如果是项目中有如下的文件:

因为要下载maven-wrapper.properties文件中的内容,而下载太慢导致问题发生,考虑如下方法解决:

复制代码
1:如果允许,一般直接删除.mvn就行
2:开代理,加速下载速度

14:springboot pom parent被占用了

常规这样配置的:

xml 复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.10.RELEASE</version>
</parent>

如果是因为maven的父子项目导致parent被占用,可以这样子配置:

xml 复制代码
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.2.10.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

15:Git解决Filename too long的问题

复制代码
git config --global core.longpaths true

16:idea plugins搜不到插件

点鸡

17:IDEA不编译src/main/java目录下的xml/properties文件的解决办法

默认不编译,在pom中显示指定即可,如下:

xml 复制代码
<build>
    <resources>
        <!-- 表示编译java源码时,包含src/main/java和src/main/resources目录下的xml、properties一起 -->
        <!--如果mapper.xml在src/main/java目录下,就必须做这个配置,不然编译后会丢弃mapper.xml文件-->
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>

18:解决github打不开的方法(亲测有效)

解决github打不开的方法(亲测有效)

19:intellij idea 启动报错 java.util.concurrent.CompletionException: java.net.BindException: Address already

intellij idea 启动报错java.util.concurrent.CompletionException

20:idea导入项目后没有被识别为maven项目的解决办法



参考文章

21:idea总是不自动编译

如下步骤检查:



22:Error running 'form': Unable to open debugger port (127.0.0.1:30371): java.net.BindException "Address already in use: NET_Bind"

23:parallelStream丢数据问题

程序如下:

复制代码
// 过滤当前存在自己办理任务的
List<Task> nowTodoTaskList = taskService.createTaskQuery().taskAssignee(taskUserId).list();
Set<String> nowTodoInstanceSet = new HashSet<>();
nowTodoTaskList.parallelStream().forEach(v -> nowTodoInstanceSet.add(v.getProcessInstanceId()));

nowTodoTaskList有n条数据,有时会出现nowTodoTaskList结果小于n的的情况,但大部分时候都是等于n的,怀疑是底层JUC多线程程序有bug,将nowTodoTaskList.parallelStream().forEach...改为nowTodoTaskList.stream().forEach解决问题。

24:Maven导入的项目不显示为模块


25:nacos报错 tried: ErrCode:503, ErrMsg:server is DOWN now, please try again later!

26:安装idea 点击next没反应?

别着急,让子弹再飞一会,点击后不要动等个35分钟就好了!!!

27:idea报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile

一般是jdk版本问题,设置各处版本为8,包括但不限于如下位置:


最后需要在插件中设置版本号为8,如下:

xml 复制代码
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>8</source>
        <target>8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

还不行的话,就去仓库里把对应的依赖文件夹删除掉,重新import。一般就行了,其实这也属于因为maven的问题导致找不到依赖而报错,所以,其他的类似下载不着依赖的问题也可以尝试通过这种方法来解决掉。
参考文章
idea的Maven配置问题:Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5

28:telnet不通(防火墙问题)


systemctl status firewalld.service

systemctl stop firewalld.service

systemctl status firewalld.service

systemctl disable firewalld.service

使用vim /etc/sysconfig/selinux,将SELINUX=enforcing改为SELINUX=disabled。

最后重启。

参考

29:maven引入成功但找不到依赖(爆红

首先尝试设置:

不行的话,再尝试:

30:idea pom.xml显示删除线

首先操作如下:

最后,没好的话,重启idea

31:项目启动总是nacos但实际没有使用

在启动springboot项目时报如下的错误:

复制代码
2023-12-11 17:10:23.028 ERROR 19472 --- [           main] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, coupon-customer-serv register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='localhost:8848', endpoint='', namespace='', watchDelay=30000, logName='', service='coupon-customer-serv', weight=1.0, clusterName='DEFAULT', group='DEFAULT_GROUP', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.10.47', networkInterface='', port=20003, secure=false, accessKey='', secretKey='', heartBeatInterval=null, heartBeatTimeout=null, ipDeleteTimeout=null}},

但实际上在项目中是没有使用nacos的,pom:

执行命令mvn dependency:tree查看依赖树也确实没有nacos的起步依赖,如下:

,凡事有个,但在idea中确实显示有nacos依赖。

通过上面查看代码配置和依赖树可以确定是idea自己的问题可能是缓存之类的问题吧,所以执行reimport,重新导入maven项目和依赖就行了,如下:

再看:

32:IDEA报错:Project 'org.springframework.boot:spring-boot-starter-parent:2.3.6.RELEASE' not found

一般是由于idea缓存造成,invalidate cache并重启即可。

33:maven 打包问题(repackage failed: Unable to find main class)

这是因为maven打包的时候会默认去找main函数,而有时我们只是提供一些规范性的jar包,本来就不需要使用main函数,这个时候对这种项目或者是模块打包就会有这种错误,处理方法是显式的配置maven-plugin不让它去找main:

红框中的内容。
maven 打包问题(repackage failed: Unable to find main class)

34:每次新建的maven项目都要重新设置maven

只需要设置新建项目时的设置信息就行,如下:

35:Fatal error compiling: 无效的标记: --release -> [Help 1]

一般是jdk版本原因,检查如下的位置:


也可能是pom文件中设置了jdk的版本,也可以检查下。当然每一步操作你都要先clean下再尝试是否解决问题。

参考文章列表

Git解决Filename too long的问题

相关推荐
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意3 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码3 天前
嵌入式学习路线
学习
毛小茛3 天前
计算机系统概论——校验码
学习
babe小鑫3 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J3 天前
从“Hello World“ 开始 C++
c语言·c++·学习