栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

idea运行web项目配置方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

idea运行web项目配置方法

添加web外观

首先需要运行的项目需要具备web的外观。idea将一个项目识别为web项目,是通过facets来识别的。如果一个module未设置web外观,那idea并不知道这是一个web工程。

为module增加web外观,可在项目点右键,选择Open Module Settings,打开Project Structure,在Modules里面选中需要添加的工程,点上方+号,选择web即可。或者在Facets里面点+号,选择web,再选择对应的工程。

添加artifacts

添加好web外观后,idea认识这是一个web项目了。但要将Module放在idea的web容器里面运行,还需要为项目增加Artifacts,idea里面的web容器运行web项目是以Artifacts作为载体。

这个Artifacts我理解就是idea将项目抽象出来的一个概念,作用是整合编译后的 java 文件,资源文件等。参照多态的概念,抽象有多个实现,Artifacts有多个整合方式,比如war、jar、war exploded 等。其中war exploded 其实是war包压缩前的内容,一般开发阶段都选择这个。

为项目添加Artifacts,同样先打开Project Structure,选择Artifacts,点+号,选择Web Application:Exploded,选择From Modules,选择对应的Module即可。

添加web容器

添加完Artifacts,就可以将module放到web容器运行了。

idea的web容器是需要手工添加的,常用的就是tomcat。

添加方法:菜单选择Run->Edit Configurations->±>Defaults->Tomcat Server->Local,将Application server设置为自己电脑上的tomcat。然后Deployment里点+号,选择刚才添加的Artifacts,同时设置Application context。这个Application context就是浏览器访问地址的第一层目录,如Application context设置为/hello,那么浏览器访问的时候地址就是http://localhost:8080/hello/action。这个Application context一般不要以/结尾,这个是规则,虽然不影响运行,但是运行起来之后,Application Servers里面显示这个Artifacts是一个黄色的警叹号,正常应该是绿色的对号。


日志中警告如下:
12-Dec-2021 22:32:32.016 警告 [localhost-startStop-1] org.apache.catalina.core.StandardContext.setPath A context path must either be an empty string or start with a ‘/’ and do not end with a ‘/’. The path [/sheet/] does not meet these criteria and has been changed to [/sheet]

需要注意的是在上面截图中的server图标上右击鼠标也可以添加Artifacts,但这个添加并不会真正将module发布出去,必须要从Run的Deployment里面添加才会真正发布项目。否则只在server图标上添加,运行之后容器并未加载到这个应用,如下图中的interceptor。

日志中信息如下:
[2021-12-12 10:41:30,513] Artifact sheet:war exploded: Error during artifact deployment. See server log for details.
[2021-12-12 10:41:30,526] Artifact interceptor:war exploded: Error during artifact deployment. See server log for details.
[2021-12-12 10:41:30,527] Artifact interceptor:war exploded: com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: E:ideaoutspringmvcStudyclassesartifactsinterceptor_war_exploded not found for the web module.

ok,大功告成!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657992.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号