背景

一直听说IntelliJ IDEA很厉害,但工作中一直用的是Eclipse。这两天放假,准备来试用一下Idea。

新建Eclipse项目

这个步骤是为后面的工作,做好素材准备。这一步比较简单,过程:略。。。

NOTE:截图的时候,还没有web.xml文件。需要在WEB-INF目录新建web.xml文件。

Idea导入项目

1. IDEA导入项目

IDEA之前如果没有的打开过的话,刚需要先临时建一个工作空间,以便IDEA打开。

导入项目的菜单路径:

1.1 File-->New-->Project from Existing sources。

1.2 选择Eclispe项目,然后点击OK。

1.3 选择导入的项目的类型,此时需要选中Import project from external model及下面的Eclipse选项,然后点击Next。

1.4 select Eclipse project directory这个页面,建议不做更改,使用默认设置,直接点击Next即可。

1.5 select Eclipse projects to import选择导入项目(如果1.2是选择的工作空间目录,且空间中有多个项目时,此处会出现所有可以导入的项目),点击Next.

1.6 choose project code style,此页直接点击Next。

1.7 select project code SDK,此页就是选择JDK(一般来说,只有一个选项),按项目需求选择即可,然后点击Finish。

1.8 此时,一般为了不影响Idea当前工作窗口,建议用一个新窗口(New Window)打开。

2. 配置新项目

2.1 打开Project Structure窗口。接上面一步,在新窗口中,Project Structure窗口有可能是直接打开了。如果没有打开,只需要在左侧Project视图中,选中项目然后F4,就可以打开Project Structure窗口

2.2 设置Modules。Eclipse导入的项目,此处主要是将Dependencies中关于Eclipse的依赖移除即可。

2.3 设置Libraries。这个过程,我做了一幅更直观的GIF(也是第一次尝试做GIF)来表达。。。。突然感觉录个小视频是不是。。。

2.4 Facets设置。此步骤主要是为了给Web项目,配置web.xml及WEB内容目录的作用。

TIPS:此处点击“+”时,如果没有web选项的话,可以先关掉这个窗口去检查web相关插件是否打开。

插件检查方法:file-->settings-->pulgins-->installed 将一些web相关插件都勾选上。

2.4.1 上面选择到项目的web.xml

2.4.2 下面选择到项目的WebContent目录

2.5 Artfacts设置。该步骤是设置WEB项目,打包(包含打出文件夹形式,及war包形式)相关配置。

2.5.1 文件形式打包配置。点击“+”号后,选择Web application:Exploded-->From Modules-->选择项目-->

2.5.1.1 Name处为这个打包程序的名称。而真实的项目名称(放入tomcat-->webapp目录下的文件夹名称。即http://127.0.0.1:8080/Name)是在output directory的最后目录名称。

2.5.1.2 该处如果没有lib目录。则在WEB-INF上目录右键-->Create Directory。然后在lib目录上右键-->Add Copy of-->Library Files。

2.5.1.3 output root主目录右键-->Add Copy of-->Directory Content,然后选择项目的WebContent目录。

2.5.2 war包形式的配置,较为简单。配置好后,可以菜单Build-->Build Artfacts然后进行war的编译及打包。点击“+”号后,

选择Web application:Arhive-->For XXX。

下图中红色箭头所指的地方,都可以按需要进行重命名。

2.6 点击OK,配置完成

3. TOMCAT配置

3.1 tomcat配置

3.1.1 点击左上"+"选项,然后选择tomcat server。

TIPS:如果此处没有tomcat选项。先点下方的more。如果仍没有,则去检查web相关插件是否打开。

插件检查方法:file-->setting-->pulgs-->install 将一些web相关插件都勾选上。另外TomCat TOMEE这个插件也需要打开。

3.1.2 点击Add Configureation选项

3.1.3 弹窗中点击Tomcat Home

3.1.4 选择Tomcat主目录即可

3.2 tomcat添加项目。点击Artifact。。之后,选择刚才2.5配置即可

4. 运行项目

至此项目,成功运行起来。下面的内容,是我第一次导入时遇到的一些问题,总结出来,供参考。

1.运行项目时报错。

Caused by: java.lang.NoClassDefFoundError: LFilterConfig;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:269)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationFilterAnnotations(WebAnnotationSet.java:109)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:68)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:330)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:778)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5051)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 38 more
Caused by: java.lang.ClassNotFoundException: FilterConfig
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
... 51 more

解决:

在2.2这个步聚时,我将src点成了,tests如下图一,正确应该下面第二幅图的样子。

但如果不小心,将要目录设置成了sourcesr 的话,则会找一到配置文件。如springmvc.xml之类的。所以这里一定要小心,关键这里点来点去,没有什么提示,只有颜色变化,第一次使用极不易察觉。

2.报错

无法将位于[/WEB-INF/classes/WebContent/WEB-INF/lib/kaptcha-2.3.2.jar]的资源添加到Web应用程序[/WEJIA]的缓存中,因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。

解决办法:

修改tomcat9的配置文件。修改apache-tomcat-9.0.24\conf\context.xml文件。<Context>内新增<Resources cachingAllowed="true" cacheMaxSize="100000" />

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐