1

我首先经历了JSP 和 servlet。在某一阶段它说,设置环境变量!我被困住了。

Qus:什么是环境变量?为什么我们需要它们?

问:什么是类路径?我们为什么要设置它?

4

2 回答 2

1

看到这是最好的文章...请看看这个

用于在 windows Xp 中为 JAVA 设置环境变量

http://www.javux.com/Notes/JavaWeb/Lesson1/Lesson1B.html

用于安装 Tomcat

https://wiki.jasig.org/display/UPM40/Installing+Tomcat

于 2012-12-21T09:02:37.703 回答
0

问:什么是环境变量?为什么我们需要它们?

我说什么老虎,你知道我在说什么吗?显然,您的答案是否定的。但在此之前,如果我对你说TIGER的意思是黄色/橙色,有四条腿,等等。现在你做对了。操作系统(Windows,Linux等)遇到时的相同方式

爪哇

或者

tomcat_home

它会将您定向到您在Environment Variables中指定的路径。例如。C:\Program Files\Java\jdk1.7.0_45\bin。

问:什么是类路径?我们为什么要设置它?

在 Java 中编程时,您可以通过在源文件的顶部放置类似这样的内容来使其他类对您正在编写的类可用:

import org.javaguy.coolframework.MyClass 或者有时你会说“批量导入”东西:

import org.javaguy.coolframework.* 所以稍后在你的程序中当你说:

我的 = MyClass.new(); java虚拟机可以知道加载你编译的类。

让 VM 浏览您机器上的每个文件夹是不切实际的,因此您必须为 VM 提供要查看的位置列表。这是通过将文件夹和 jar 文件放在类路径中来完成的。

在我们讨论如何设置类路径之前,让我们先谈谈 .class 文件、包和 .jar 文件。

首先,假设 MyClass 是您作为项目的一部分构建的,它位于项目中名为“输出”的目录中。.class 文件将位于“output/org/javaguy/coolframework/MyClass.class”(以及该包中的所有其他文件)。为了获取该文件,您的路径只需要包含文件夹“输出”......而不是整个包结构,因为您的导入语句将所有这些信息提供给 VM。

现在假设您将 CoolFramework 捆绑到一个 .jar 文件中,并将该 CoolFramework.jar 放入项目的 lib 目录中。您现在需要将“lib/CoolFramework.jar”放入您的类路径中……VM 将在 jar 文件中查找“org/javaguy/coolpackage”部分,并找到您的类。

因此,类路径包含:

jar 文件,以及包层次结构顶部的路径。你如何设置你的类路径?

每个人似乎学习的第一种方式是使用环境变量。在 unix 机器上,你可以这样说:

export CLASSPATH=/home/myaccount/myproject/lib/CoolFramework.jar:/home/myaccount/myproject/output/ 在Windows机器上,您必须转到您的环境设置并添加或修改已经存在的值。

第二种方式是在启动Java时使用-cp参数,像这样:

java -cp "/home/myaccount/myproject/lib/CoolFramework.jar:/home/myaccount/myproject/output/" MyMainClass 第三种方式的变体通常使用 .sh 或 .bat 文件来计算类路径和通过 -cp 参数将其传递给 java。

那么最好的方法是什么?

通过环境变量全局设置东西是不好的......通常与全局变量不好的原因相同。您更改了 CLASSPATH 环境变量,以便一个程序可以工作,而您最终会破坏另一个程序。

-cp 是要走的路...我通常确保我的 CLASSPATH 环境变量是我开发的空字符串,只要有可能,这样我就可以避免全局类路径问题(当全局类路径为空时,某些工具会不高兴虽然 - 我知道有两种常见的、耗资巨大的许可 J2EE 和 Java 服务器,它们的命令行工具存在这种问题)。

于 2013-12-20T14:06:56.927 回答