Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建和部署JavaWeb项目之间的区别是什么?_Java_Jakarta Ee - Fatal编程技术网

构建和部署JavaWeb项目之间的区别是什么?

构建和部署JavaWeb项目之间的区别是什么?,java,jakarta-ee,Java,Jakarta Ee,我知道 编译是将源代码转换为目标代码的行为 链接是将目标代码与库组合成原始可执行文件的行为 构建是由编译和链接组成的序列,可能还有其他任务,如安装程序创建 (感谢) 但是,当我想在JavaWeb项目中看到我的更改时,我还必须(在构建之后)部署它们。当我部署我的项目时,NETBeCes会做什么? < p>它通知应用程序服务器(例如Tomcat)你的应用程序的存在,配置它并启动它,以便它可以通过http.< /p> < p>提供。你的定义似乎来自于本地代码编译器(C,C++,Pascal等)的世界。

我知道

编译是将源代码转换为目标代码的行为

链接是将目标代码与库组合成原始可执行文件的行为

构建是由编译和链接组成的序列,可能还有其他任务,如安装程序创建

(感谢)


但是,当我想在JavaWeb项目中看到我的更改时,我还必须(在构建之后)部署它们。当我部署我的项目时,NETBeCes会做什么?

< p>它通知应用程序服务器(例如Tomcat)你的应用程序的存在,配置它并启动它,以便它可以通过http.< /p> < p>提供。你的定义似乎来自于本地代码编译器(C,C++,Pascal等)的世界。在Java中,编译只是将Java代码(文本)转换为Java字节码的过程,Java字节码也是一种高级代码,而不是对象(机器)代码

每次应用程序在虚拟机内运行时,都会发生Java中的链接,其中字节码中的符号被解析为对其他加载字节码的引用。所以java中的顺序实际上是:编译->部署->链接->运行

一旦运行,JVM可以选择将Java字节码转换为机器码以直接执行,但也可以只解释字节码


在这种情况下,部署只是指告诉应用程序服务器代码在哪里,并运行应用程序描述符中定义的启动代码(例如web.xml中为webapps定义的Servlet和过滤器初始化)。

good once……….NICE。。。。。