# 问题和练习：平台环境

> 原文： [https://docs.oracle.com/javase/tutorial/essential/environment/QandE/questions.html](https://docs.oracle.com/javase/tutorial/essential/environment/QandE/questions.html)

## 问题

1.程序员安装.jar 文件中包含的新库。为了从代码中访问库，他将 CLASSPATH 环境变量设置为指向新的.jar 文件。现在他发现他在尝试启动简单应用程序时收到错误消息：

```
java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello

```

在这种情况下，`Hello`类被编译为当前目录中的.class 文件 - 但`java`命令似乎无法找到它。出了什么问题？

## 演习

1.编写应用程序`PersistentEcho`，具有以下功能：

*   如果使用命令行参数运行`PersistentEcho`，它将打印出这些参数。它还将打印出的字符串保存到属性中，并将属性保存到名为`PersistentEcho.txt`的文件中
*   如果在没有命令行参数的情况下运行`PersistentEcho`，它将查找名为 PERSISTENTECHO 的环境变量。如果该变量存在，`PersistentEcho`将打印出其值，并以与命令行参数相同的方式保存该值。
*   如果在没有命令行参数的情况下运行`PersistentEcho`，并且未定义 PERSISTENTECHO 环境变量，它将从`PersistentEcho.txt`中检索属性值并将其打印出来。

[检查你的答案。](answers.html)