从使用Spring Tool Suite(sts),即另一个版本的Eclipse
Spring Tool Suite
使用至今已经接近2年,不知道是不是当时设置错误的问题,一直无法导入maven项目,整得头疼务必,在工作上造成了巨大的不便。如今,由于新项目的开发,死磕加机缘巧合下,问题终于解决,项目导入成功,现在聊以此文,记录这个这么我许久的问题解决方式!
首先在导入Maven项目的时候一切如常,选择导入Existing Maven Projects
导入Maven项目
导入后看上去一切正常,如图
导入后的Maven项目
但打开项目后,发现其中的所有.java文件图标全部都和以往的图标不同,
图标异常
J是空心而非实心,标识该文件无法使用Java运行
正常的图标是这样
解决办法:
在导入Maven项目后,在项目文件夹中,会生成一个.project文件,用编辑器打开,原本的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>security-login-db-encrypt</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
需修改为
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>security-login-db</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
修改完成后,重新导入项目
重新导入后报错
可以看到项目报错了,但所有的Java文件都为可执行文件,有进步,那么下一步就需要查看是什么地方报错
首先,文件package所在的路径与项目classpath不符
包名不符
包名不符
在项目的Build Path中,将原来的classpath删除,添加新的classpath
更改classpath
完成后,项目的依赖包仍然报错,原因是Maven的所有依赖都未引入
此处仅引入了jdk,未引入Maven依赖
在网上参考了一篇文章:
https://blog.csdn.net/weixin_41550116/article/details/79485417
将项目文件夹中的,.classpath文件中的内容,添加一行
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
添加完成后内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
</classpath>
然后再次重新导入项目文件
导入成功
至此,折磨我这么就的问题终于搞定了!