2

我在 Windows 环境中使用 Netbeans(使用 Java、JSP 和 JQuery)开发了一个应用程序。现在我准备将应用程序转移到网络主机,以便应用程序可以在 Web 上使用,并且我被告知必须将应用程序移动到 linux 环境(已经购买了托管服务)。以下是我的担忧:

  • 如何将我的代码转换为 Linux?有自动工具吗?
  • 如何将我的应用程序在线部署到服务器(我需要复制什么以及到网络上的哪个目录?)
  • 我的应用程序写入笔记本电脑上 c:drive 上的目录,我应该怎么做才能使应用程序写入正确的目录到 Web 服务器上的指定目录?

我已经在这里和那里在线阅读,但还没有具体的解决方案。

4

2 回答 2

4

如何将我的代码转换为 Linux?有自动工具吗?

Java 的关键特性之一是可移植性,只要您没有使用任何特定于操作系统的代码,例如使用 CMD 或类似工具运行程序或依赖于操作系统的库(这在这些时候很少见,但有一些然而),那么你没有什么可做的。

如何将我的应用程序在线部署到服务器(我需要复制什么以及到网络上的哪个目录?)

您需要生成一个WAR 文件。该文件将压缩您的所有网页 (JSP) 和 Web 资源(js、css、图像文件)以及 Java 二进制文件 (*.class) 和库(必须位于WEB-INF/lib文件夹中)。

由于您使用的是 NetBeans,因此这里有一个生成 war 文件的 Q/A:如何在 NetBeans 中创建我的项目的 war 文件?

此 war 文件必须放在您的 Web 应用程序服务器的部署文件夹中。通常,主机会为您提供管理主机的工具(通常是带有用户名和密码的网络链接),基于此您应该询问(或自己查找)上传war文件的选项。

我的应用程序写入笔记本电脑上 c:drive 上的目录,我应该怎么做才能使应用程序写入正确的目录到 Web 服务器上的指定目录?

您需要将此路径配置为应用程序中的常量,或者更好的是,在属性文件(或其他地方)中配置它,以便您的应用程序轻松读取和使用它。请记住,几乎每个操作系统都支持该路径。例如,如果您使用带名称的路径

C:\some\path\for\files

它的通用形式将是:

/some/path/for/files

由于您将在 Linux 上工作,因此请确保执行 Tomcat(或您将在生产中使用的 Web 应用程序服务器)的用户具有足够的权限来写入该文件夹。这可以使用以下chown命令轻松完成(这里有人可以解决这个问题):

#> chown -R user /some/path/for/files

这是另一个在 Java Web 应用程序上管理文件和路径的 Q/A:如何在 File 类中提供相对路径来上传任何文件?

于 2013-05-02T14:05:18.533 回答
1

好的,首先有几个想法:

  1. 将代码转换为 Linux。一旦你有了你的战争文件,你就可以部署它们。最好在文件中使用 UTF8 编码,特别是在使用特殊字符的情况下,但这将是您在部署时可以测试的问题,也可能取决于 Linux 配置。话虽如此,Java 是可移植的,您只需确保您创建的存档与安装在 Linux 主机上的 AppServer 兼容。您应该从托管站点/公司获得有关部署环境所需的所有信息。
  2. 部署将因站点而异,他们应该为您提供所有说明。
  3. 这里你可能有问题。我想说最简单的方法是将目录映射到属性文件中并在您使用它的每台机器上对其进行自定义。到目前为止,这是最容易的部分。但是,您应该检查您的站点是否允许您访问目录,并注意空间限制和文件清理。如果你得到,比如说,100MB,而你每天使用 10MB,那么 10 天后你可能会遇到麻烦......
于 2013-05-02T14:07:22.213 回答