# 编译示例程序

> 原文： [https://docs.oracle.com/javase/tutorial/rmi/compiling.html](https://docs.oracle.com/javase/tutorial/rmi/compiling.html)

在部署了计算引擎等服务的实际场景中，开发人员可能会创建一个 Java Archive（JAR）文件，其中包含要实现的服务器类和客户端程序的`Compute`和`Task`接口。使用。接下来，开发人员（可能是接口 JAR 文件的相同开发人员）将编写`Compute`接口的实现，并在客户端可用的计算机上部署该服务。客户端程序的开发人员可以使用 JAR 文件中包含的`Compute`和`Task`接口，并独立开发使用`Compute`服务的任务和客户端程序。

在本节中，您将学习如何设置 JAR 文件，服务器类和客户端类。您将看到客户端的`Pi`类将在运行时下载到服务器。此外，`Compute`和`Task`接口将在运行时从服务器下载到注册表。

此示例将接口，远程对象实现和客户端代码分为三个包：

*   `compute` - [`Compute`](examples/compute/Compute.java) 和 [`Task`](examples/compute/Task.java) 接口
*   `engine` - [`ComputeEngine`](examples/engine/ComputeEngine.java) 实现类
*   `client` - [`ComputePi`](examples/client/ComputePi.java) 客户端代码和 [`Pi`](examples/client/Pi.java) 任务实现

首先，您需要构建接口 JAR 文件以提供给服务器和客户端开发人员。

## 构建接口类的 JAR 文件

首先，您需要编译`compute`包中的接口源文件，然后构建包含其类文件的 JAR 文件。假设用户`waldo`已编写这些接口并将源文件放在 Windows 上的目录`c:\home\waldo\src\compute`或 Solaris OS 或 Linux 上的目录`/home/waldo/src/compute`中。给定这些路径，您可以使用以下命令编译接口并创建 JAR 文件：

**Microsoft Windows** ：

```
cd c:\home\waldo\src
javac compute\Compute.java compute\Task.java
jar cvf compute.jar compute\*.class

```

**Solaris OS 或 Linux** ：

```
cd /home/waldo/src
javac compute/Compute.java compute/Task.java
jar cvf compute.jar compute/*.class

```

* * *