有时候想运行别人的项目,但是别人的项目并非IDEA项目(甚至只有源码),当我们打开项目时候,并不能运行,我们却不知道怎么办。经过多次查找和尝试,最终终于能够运行起来了。记一下解决的方法。

idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客
这是源码打开的项目

首先,查看sdk是否设置了。可以在 File=》Project Structure=》Project里面查看并设置。

但是,设置后还是不可以运行。如下图:

idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客
设置SDK后的

我们可以发现,src跟可以正常运行的项目的src颜色不一样:

idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客
正常可运行项目

原来,是IDEA不能自动对源代码识别出来src目录,要我们手动设置:

选中src目录=》右键=》make Directory as = Source Root:

idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客
标记src目录后

然后就可以运行了。

但是,可能sdk与Project language level不对应,也会报错。
在File=》Project Structure =》Project中修改即可。

idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客idea打开工程无法运行java程序_如何运行一个java程序(符合人体工程学的)-风君雪科技博客
设置SDK与Project language level对应

运行之后,说是,找不到引入的包。

引入的包需要在 File=》Project Structure=》Libraries 中添加想要引入的jar包。

引入之后,就能够识别了的。

成功运行。

=======================2022年更新增加

笔者打开一个新的多模块项目时候,可运行的项目无法引用到其他不可运行模块的代码。

即代码没有编译错误但运行的时候却报 “程序包xxx不存在”。经过一段时间的摸索,这是因为idea 2020.1与maven存在一些不兼容的问题,在File=》Settings=》搜索maven=》Runner中勾选“Delegate IDE build/run actions to Maven”,项目可正常运行。

升级idea应该可以解决该问题。