idea配置artifacts for war

idea配置artifacts for war,第1张

近期有个古老的项目,需要生成war包,研究了半天时间,把注意事项梳理下,发出来记录下。

项目时一个web app项目,需要部署到tomcat服务中,运行项目需要配置Project Structure.

Project菜单:

Projcet name : 项目名称

Project SDK :编译环境JDK

Project Language level : 选择要支持的Java语言级别。选定的级别将被用作项目默认值。

可用选项对应于JDK版本:

1.3 - 普通的旧Java

1.4 - “断言”关键字

5.0 - 'enum'关键字,自动装箱等

6.0 - @Override在接口

7.0 - 钻石,ARM,多捕获等

8.0 - Lambda支持,类型注释等

可以为您的任何模块设置单独的语言级别 。

请注意,如果目标级别没有明确定义(编译器选项-target),则认为它与源语言级别相同。

因此,如果-target没有明确定义,它将与语言水平同步。(这里配置的级别和Proferences-Build-Compiler下的配置需要一致)

Project Compiler output :编译后文件输出地址(主要指class文件)

Modules:

这里需要注意Language Level需要保持一致,Mark as需要按内容标记好,Paths下的可以直接选

Web目录配置

黄框中的内容是web.xml的地址

红框中的web Resource Directories配置需要指向页面资源目录

Libraries配置所需要的依赖jar包

Facets就是Modules下的web配置

Artifacts(重点)

这个配置项可以理解为对输出的目录进行定型,调试可以先创建一个exploded,打包可以选择archive生成war包

output Layout中,左边是即将输出的目录结构,右边是可选择的内容

例如我想把编译后的class文件加入到WEB-INF下的class目录下,就可以这样配置:

直接创建一个classes目录,然后创建一个compile output在classes下就可以在编译时将编译后的文件加入到classes目录下;

以上就是重点的需要理解的配置。

最近连续用idea直接从github上直接checkout,项目中已经包含out文件夹,已经包含war exploded包,然而idea无法识别此artifact,于是欲重新创建时无war exploded选项,tomcat找不到对应的启动包。

如图,首先从modules开始,新建web模块,文件指向:F:\_SOFTWARE\_CODE\IntelliJ IDEA 2018.1\workspace\Graduation\src\main\webapp。此时应该会提示在Artifact里没有web模块之类的话,然后选择Fix一下。

顺便注意一下,可能还未能识别出spring的配置文件,需要手动添加,添加位置点开绿色的spring即可看到

随即进入Actifact新建war包时即可选择From Module


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7983988.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存