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目录下;

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

说明

官方文档地址: https://www.jetbrains.com/help/idea/2016.2/working-with-artifacts.html 翻译本只作为本人个人参考, 现提供给大家一并参考.因个人英语水平, 所以翻译的可能不是很好, 需要改进的地方还望懂的朋友提出以便本人加以修正.

Artifact是什么? (What is an artifact?)

Artifact是你的项目资产的一个集合, 将他们项目中的文件放在一起去测试, 部署或者描述你的软件解决方案, 又或是项目的一部分.

例如是以编译的java class文件, 或者打包成java档案文件(jar包文件)的java应用, 一个web应用的文件夹(就是webcontent或myeclipse下的webroot)结构或者是一个web应用程序档案文件(war包文件)等.

Arifact是可以是一份档案文件, 或者是一个文件夹的结构, 包含下列元素:

一个或多个的项目模块编译输出(也就是类路径src下面的资源).

模块依赖包含的lib包.

资源文件的集合(web网页, 图片, 描述文件( descriptor files )等)

其他的Artifact

单独的文件, 目录或者档案(在部署构建artifacts的时候可以自己添加其他地方文件等)

Note : 上面说的档案一般是压缩文件, 例如war包, jar包, ear包.

Artifact的配置 (Working with artifact configurations)

Artifact的生成与 Artifact的配置有关, Artifact是在 Project Structure(项目结构) 对话框中进行管理的. (File | Project Structure | Artifacts).

Artifact配置关键的部分是 在 输出布局选项卡 Output Layout tab . 指定 Artifact的结构和内容.

译者注 : 将项目中的东西组合在一起的一个过程, 例如eclipse里我们添加jar包是直接add to path. idea就是在要在modules和artifacts这里配置lib等一些其他的文件.

构建Artifact (Building artifacts)

你可以在 Build | Build Artifacts 处构建你自己的 Artifact.你也可以通过执行 run/debug的配置来构建一个Artifact.在对应的 run/debug配置中, 在运行之前添加一个 Build <ArtifactName>artifact

的任务到任务列表. 当你执行 run/debug配置的时候Artifact会自动构建. (Run | Run or Run | Debug)

在run/debug配置中包含一个构建Artifact的任务是有意义的, run/debug配置会以某种方式使用相应的artifacts.

译者注 : 上面这句话是说, 在我们添加了一个运行服务器的配置的时候可以在Deployement这个选项卡那里添加一个artifacts, 如果有已存在的artifacts, 那么会直接添加进来, 如果没有则会自动带你到Build | Build Artifacts这个地方去让你构建artifacts.

例如在一个应用服务器中启动一个打包成jar包中的artifact,或部署一个WAR/EAR artifact.默认情况下, 当Artifact构建时, 它会被放在out/artifacts/<artifact_dir>

文件夹.

运行JAR Artifact (Running JAR artifacts)

运行一个打包成JAR的java应用程序, IDEA提供了一些JAR应用运行配置(JAR Application run configurations), 创建这样的运行配置:

打开Run/Debug配置对话框( Run | Edit Configurations )

单击 + 号 , 然后选择JAR应用.

部署Artifact到应用服务器和云平台 (Deploying artifacts to application servers and cloud platforms)

许多artifact的格式(例如 WAR, 分解的WAR(Exploded WAR), 分解的EAR)都适合部署到应用服务器和云平台.以下是如何部署一个这样的artifact:

在一个服务器或云服务器的run/debug configuration中, 指定需要部署的artifact(使用部署选项卡或区域(Use the Deployment tab or field.))

run/debug工具窗口 , 或应用服务器中执行run/debug配置或使用部署命令


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存