codecamp

IntelliJ IDEA如何部署和使用Web服务器

本章节将描述 Web 服务器的功能,仅在 IntelliJ IDEA 的终极版。

在多种配置开发和生产环境的方式中,最常见的方法如下:

  • 您的计算机上安装了 Web 服务器。源位于服务器文档根目录下(例如,/htdocs),并且您可以在服务器上进行开发。
  • 您的计算机上安装了 Web 服务器,但源存储在另一个文件夹中。您可以进行开发,然后将源代码复制到服务器。
  • Web 服务器位于另一台计算机(远程主机)上。服务器上的文件可通过 FTP / SFTP / FTPS 协议,通过网络共享或已安装的驱动器获得。

现在来看看如何在上述环境配置中使用 IntelliJ IDEA。IntelliJ IDEA 假定所有开发、调试和测试都在您的计算机上完成,然后将代码部署到生产环境中。

请注意以下事项:

  • 坚持这种“本地开发 - 部署”模式的原因在于 IntelliJ IDEA 提供代码帮助的方式,包括代码完成、代码检查和验证、代码导航等。所有这些功能都基于 IntelliJ IDEA在项目加载时构建的项目文件索引,并在您编辑代码时即时更新。
  • 为了提供有效的编码帮助,IntelliJ IDEA 需要快速索引代码,这需要快速访问项目文件。后者只能用于本地文件,即存储在硬盘上并可通过文件系统访问的文件。因此,当您通过网络文件夹访问文件时,IntelliJ IDEA 不支持该模式(通常它会变得缓慢而无响应,无任何明显原因执行随机查找等)。

IntelliJ IDEA 与服务器的交互作用

IntelliJ IDEA 与服务器之间的交互是通过服务器访问配置来控制的。每当你要使用服务器,你需要定义一个服务器访问配置,无论您的服务器是在远程主机还是在您的计算机上。

考虑到上述所有因素,我们定义以下与 IntelliJ IDEA 和服务器之间的同步相关的基本概念。

  • 就地服务器是一个服务器,其文档根目录是项目根目录的父项,无论是直接的还是非即时的。换句话说,Web 服务器正在您的计算机上运行,​​您的项目位于其文档根目录下,您可以直接在服务器上进行开发。
  • 本地服务器是在本地或挂载的文件夹中运行的服务器,其文件根目录是不是项目根目录的父项。
  • 远程服务器是另一台计算机(远程主机)上的服务器。
  • 服务器配置根目录是本地或远程服务器上文件中可通过服务器配置访问的最高文件夹。对于就地服务器,它是项目根。
  • 本地文件/文件夹是项目根目录下的任何文件或文件夹。
  • 远程文件/文件夹是本地或远程服务器上的任何文件或文件夹。假设你有一个项目 C:/Projects/My_Project/ 与文件夹 C:/Projects/My_Project/My_Folder 和本地服务器的文件根目录在 C:/xampp/htdocs。您将整个项目树上传到 C:/xampp/htdocs/My_Project。在 IntelliJ IDEA 术语中,文件夹C:/Projects/My_Project/My_Folder 被称为本地和文件夹 C:/xampp/htdocs/My_Project/My_Folder 被称为远程。
  • 上传是将数据从项目复制到服务器,无论是本地的还是远程的。
  • 下载是将数据从服务器复制到项目中。

在配置了与服务器同步后,您可以直接从 IntelliJ IDEA 上传、下载和管理文件。此外,您可以禁止上传或下载特定文件或整个文件夹。最后,您可以通过配置内容根目录来优化您的工作流程,以便在索引中不涉及特定的文件夹,从而显着节省项目索引时间。

与服务器进行同步,上传、下载和管理文件是通过远程主机访问捆绑插件提供的,默认情况下是启用的。如果该插件被禁用,请在“设置”对话框的“插件”页中激活它。详细信息,请参阅启用和禁用插件。请注意,该插件仅适用于最终版本的 IntelliJ IDEA。

如何查看和浏览IntelliJ IDEA测试的结果
In-Place Server配置
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }