• Java项目导入IDEA的流程配置及常见问题解决(持续更新中...)


    java

    Java项目导入IDEA的流程配置及常见问题解决

    本文主要演示一个普通 java 项目导入IDEA的流程步骤及可能出现的问题、原因及解决办法。

    本文使用的部分软件版本如下:

    IDEA 2018.3
    JDK 1.8
    Windows
    cjw


    1.导入Java Project

    导入之后可能发出现大面积红色,这里我们要配置一下java jdk(一般导入工程后会自动提示)和我们依赖的jar包(注意程序与jar版本间的对应),一般依赖的jar等在一个lib文件夹(可能没有)下:
    在这里插入图片描述
    解决方法:

    1.配置java sdk和工程依赖问题

    1.1 配置Java JDK

    在IDEA中点击 FILE -> Project Structure -> Project:

    在这里根据自己的项目工程实际配置 java jdk 版本(可能存在版本冲突)及编译输出(IDEA默认会自己识别,没有编译输出

    也会出错,可参考第二部分常见问题的对应解决办法)

    java jdk配置


    1.2 配置工程依赖

    这里实际是解决程序因依赖丢失或出错造成的程序部分代码段爆红的问题

    STEP 1: 在IDEA中点击 File -> Project Structure -> Libraries -> + -> Java:
    可以使用快捷键 CTRL+ALT+shift+S

    在这里插入图片描述

    选择jar包的位置:

    lib

    确定依赖jar及资源位置后点击 OK

    在这里插入图片描述


    STEP 2: 在IDEA中点击 File -> Project Structure -> Modules -> + -> JARS or directories:

    在这里插入图片描述

    选择对应的lib或者你下载好的jar位置,勾选后点击 APPLY:

    在这里插入图片描述
    这里配置结束后IDEA会自动进行更新和导入依赖资源,此时爆红消失。


    1.3 设置 src 空间,指定Sources Root等

    PS: 除了常规的 Sources Root外,大家还应根据自己的实际情况配置Resources Root以及Test Sources Root 等!!!

    到这步可能的现象为 启动类是灰色的,且main函数无法运行,没有绿色的三角main

    STEP 1: 先找到启动类的 .java 文件,检查一下 package 路径,路径中不能出现以java开头命名的包名;

    STEP 2: 在Java Project结构下选择根目录 src 后右键 ->Make Directory as -> Sources Root

    nark
    此时识别到了启动类,绿色的三角也出现了(run运行的按钮变成绿色):

    main success


    配置完成!!!
    main
    如果工程较大,文件很多,java类中的方法也特别多,我们可以通过在Project Structure中的Modules中进行设置或者点击IDEA左侧的Structure查看、查找:

    File -> Project Structure -> Modules ->Sources 中进行配置:

    在这里插入图片描述

    structure


    2. 常见问题

    问题1:出现报错:java.lang.SecurityException: Prohibited package name: java.com.demo

    java.com

    1.1 原因

    包路径里不能以java开头,preDefineClass方法首先对类名进行了检查,发现以java作为一
    级包名,则抛出安全异常:禁止使用的包名!
    这条安全异常是由Java类加载的“双亲委派模型”而导致。在双亲委派模型中,由父加载类加载的类,下层加载器是不能加载的。本例中最高层加载器BootstrapClassLoader加载了classpath路径下所定义的java.*包内的类,而java.research包就不能由BootstrapClassLoader的下层加载器AppClassLoader加载了。这也是java安全机制中对于恶意代码所采取的防护措施。

    这里的package路径为 java.com.demo
    package

    1.2 解决方法

    更换一个包名,右键 java 包选择 Refactor -> Rename -> 修改包名:
    rename
    此时即可正常运行了:
    RUN SUCCESS


    问题2:运行时报错:错误: 找不到或无法加载主类 java.com.demo.xxxx

    no main class

    2.1 原因
    1. 可能是有问题1引起,路径中存在以java开头的包名;
    2. 类名错误
    3. 类所在位置未添加至类加载路径中
    4. 没有指定对应的文件夹为 Sources
    2.2 解决方法

    检查自己的类加载路径,检查类名,肯定有问题

    之后删除编译文件存储位置即out文件夹;

    接着清除缓存 ( 点击 File -> Invalidate Caches \ Restart -> Invalidate and Restart \ Invalidate )

    最后重新编译工程 ( 点击 File -> Build -> Rebuild Prodject )


    问题3:Java JDK的版本兼容性问题

    在IDEA中点击 file –> project structure –> sdks 选择电脑目前存在的与当前工程匹配的JDK:
    java sdk

    3.1 原因

    当前的Java JDK与工程所用的JDK不兼容

    3.2 解决方法

    检查工程的JDK,选择工程对应的JDK


    问题4:运行时报错the output path is not specified for module

    error

    4.1 原因

    Java工程没有配置编译路径,实际就是缺了out
    out

    4.2 解决方法

    在IDEA中点击File -> Project Structure -> Project -> Project compler output:

    在工程路径后添加一个out路径即可,之后点击Run即可。
    在这里插入图片描述


    问题5:出现这个错误:Error:java: Compilation failed: internal java compiler error

    5.1 原因

    未配置编译路径

    5.2 解决方法

    配置编译路径
    在IDEA中点击Settings -> Build -> Compilier-> Java Complilier -> +:
    选择项目工程和对应的版本
    complier


    问题6:报错无效的目标发行版:17 的解决办法

    11

    6.1 原因

    JDK 版本和电脑上不一致

    6.2 解决办法

    在IDEA中 Settings --> Build, Execution, Deployment --> Complier --> Java Complier 配置下的 Project bytecode version: 17 改为 与 项目使用的 JDK 版本一样即可,这里我使用的是 JDK1.8。
    8


    问题7:IDEA项目导入后文件名变成红色

    注意是文件名红色,不是文件名下有波浪线!!!

    7.1 原因

    IDEA配置了版本控制工具如Git,Svn等,代码发生变化但还未提交,主要起提示作用,没啥影响;

    7.2 解决办法

    在IDEA中选择 file–> setting –> version Controller -> vcs选项选为 none
    none


    问题8:IDEA项目out中文件目录与项目目录不一致,导致出现找不到xxx

    8.1 原因

    IDEA中的Java项目未配置指定工程的Sources Root 和 Resources Root 等

    8.2 解决办法

    根据Java工程配置对应的 Sources :
    在这里插入图片描述
    之后删除编译文件存储位置即out文件夹;

    接着清除缓存 ( 点击 File -> Invalidate Caches \ Restart -> Invalidate and Restart \ Invalidate )

    最后重新编译工程 ( 点击 File -> Build -> Rebuild Prodject )


    未完待续…

  • 相关阅读:
    做事软件开发-法的重要性所在以及合理结论的认识
    LeetCode 152. 乘积最大子数组
    AI开源 - LangChain UI 之 Flowise
    期权交易策略主要有哪些?期权交易策略指南
    17-ETL工具、大数据架构、Flume介绍、Flume组件介绍
    2022年 11月26日 KNN 学习笔记
    Redis实现分布式锁-原理-问题详解
    计算机毕业设计Java读书笔记共享平台(源码+系统+mysql数据库+lw文档)
    asp.net闲置物品购物网系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
    jmeter界面压测过程卡死解决思路
  • 原文地址:https://blog.csdn.net/cjw12581/article/details/128146827