lib目录下放置着jar包。程序中的import语句找的就是这些文件!例如:
import javax.servlet.RequestDispatcher;
问题在于,在cmd模式下编译,系统会提示:
CheckAccount.java:5: 软件包 javax.servlet 不存在!
import javax.servlet.RequestDispatcher;
import javax.servlet.http.*;
在安装jdk之后,仔细观察下安装路径下的文件夹,其中共计两处包含jre目录!共有三处lib目录!包含javax.servlet的jar包就应该被安置在其中的某一处。
首先在tomcat的安装目录下,找到servlet-api.jar。这个包用winrar解压之后看到内部结构为:
javax\servlet\http
同import语句的结构一致!
D:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar
硬盘里,lib文件夹的位置如下:
C:\Program Files\Java\jdk1.5.0_08\jre\lib
C:\Program Files\Java\jre1.5.0_08\lib
C:\Program Files\Java\jdk1.5.0_08\lib
分别为jdk下的lib;jre下的lib;jdk下的jre下的lib。
经过验证,把servlet-api.jar包拷贝进入jdk下的jre下的lib下的ext目录后,import语句顺利通过编译!
即:C:\Program Files\Java\jdk1.5.0_08\jre\lib\ext
相关的,其他从外部导入的jar包,都放在这个目录下。例如:在工程中导入mysql驱动jar包“mysql-connector-java-3.0.17-ga-bin.jar”,其本质是拷贝了该jar包到ext目录下。
其他情况,再添加oracle驱动jar包也类似处理。
再来解释下,为什么会有两处jre目录?三个lib目录分别什么作用?
安装JDK后,Java目录下有jdk和jre两个文件夹,但jdk下还有一个jre文件夹,而且这个jre比前面那个jre在bin目录下多了个server文件夹!
普通用户装jre即可。开发人员需要安装jdk,其中包括jre。所以jdk目录下包括jre目录。两个jre大体相同,有细微的差别。
两套 jre ,是针对不同的工作职责!不同的 jre 负责各自范围的内容。
当用户只需要执行 java 的程序时,那么C:\Program Files\Java\jre1.5.0_08的 jre 就 ok !
当用户是 java 程序员,则需要 java 开发环境。编译时,系统就会优先去找
C:\Program Files\Java\jdk1.5.0_08\bin下的“ java 、 javac ”这些命令所在
目录或者他们的父目录的 jre 。即开发环境下运行的是 jdk 下的 jre 。
再说三个lib目录:
JDK下的lib包括java开发环境的jar包,是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。
JRE下的lib只是运行java程序的jar包,是为JVM运行时候用的。包括所有的标准类库,和扩展类。
JDK下的JRE下的lib是开发环境中,运行时需要的jar包。最典型的就是导入的外部驱动jar包。因为编译时,系统找的是jdk下的jre。而不是最外层的jre。
分享到:
相关推荐
关于安装JDK时所安装的两个JRE和三个LIB包的说明。希望能初学都有用。
本篇文章将深入探讨如何精简JRE中的"lib"目录,以满足定制化需求。 "lib"目录是JRE的核心组成部分,包含了Java运行时所需的大量类库。这些库支持Java语言特性、网络通信、I/O操作、安全管理等多个方面。精简这个...
1.jdbc.jar放置到jdk8或jre8的lib\ext文件夹中,如果不起作用请尝试jre的lib文件夹; 2.将jdbcodbc.dll放置到jre8的bin文件夹中; 3.重新启动JVM.
2. 删除jre目录下所有出bin和lib目录的所有文件或目录 3. 打开cmd窗口,设置path路径为空,转到D:\jre\bin目录,运行java –version。正常显示当前Java的版本。 4. 在bin目录中新建一个temp目录,将除java.exe和java...
java_home.jre.lib.fonts.fallback.tar.bz2.2
标题中的"jdk1.8/jre/lib/security/"指的是Java Development Kit (JDK) 1.8版本中的Java运行时环境(JRE)的安全目录。这个目录存放着Java安全策略的相关文件,它们对于控制Java应用程序的权限和访问限制至关重要。...
Linux Ubuntu14.4 JRE7 amd64 lib so包 在Linux 上安装JAVA环境老是因为缺包而出问题。 比如:java.lang.UnsatisfiedLinkError: no nio in java.library.path 就是因为缺包引起的。 直接把包覆盖到/java/jre/lib/...
JDK 所需jar包
安装JDK时产生的两个JRE的原因,一套位于安装目录>\jre目录,\Java\jre1.6.0_02目录下。
java_home.jre.lib.fonts.fallback.tar.bz2.1
用一个软件的同时必须安装另外一个软件(jre)会给人一种流氓软件强行捆绑的感觉,而很多用户对此很抵触。更不要提用户电脑上的jre版本千变万化(有没有jre,是微软的还是sun的,是1.4还是1.6),与其大费周章强迫其...
精简这个目录意味着移除不必要或不使用的工具,从而减小整体的JRE大小。以下是进行此操作的一些关键步骤和注意事项: 1. **理解需求**:首先,明确你的应用需要哪些JRE组件。如果应用程序只使用特定的Java版本,...
压缩包子文件的文件名称列表只有一个条目:"jre1.8.0_211",这表明压缩包内可能包含的是一个解压后即用的JRE安装目录,包括bin、lib、man等子目录,以及相关的配置文件和文档。例如: 1. **bin** 目录:包含了Java...
3. **创建JRE**:为了提取JRE,你需要复制这个`jre`目录到一个新的位置,并重命名该目录为`jre-19.0.1`,表示这是一个独立的JRE实例。这一步可以通过命令行或者文件管理器完成。 4. **配置环境变量**:为了让系统...
3. `jre`子目录:内部还有一个嵌套的JRE,包含子目录如`bin`和`lib`,用于子进程的Java运行需求。 4. `legal`目录:包含各种许可和版权文件,确保用户了解使用JRE的法律条款。 5. `man`目录(在某些版本中):提供...
通常,这个目录的位置在操作系统的特定路径下,例如Windows下的`C:\Program Files\Java\jre1.7`或Linux的`/usr/lib/jvm/java-1.7.0-openjdk-amd64`。这个目录包含了以下关键组件: - **bin**:这个目录包含了Java...
自己动手精简我们jre,再打包成exe这样java程序就可以在windows下很好的运行了,而且jre体积也很小不影响下载!感兴趣的可以下载后动手...里面包含了删减lib,bin下文件的方法和步骤,让你的jre最小化!祝你编程愉快!
4. 创建免安装版JRE:将"jre"目录复制到你需要的位置,这样就得到了一个独立的JRE副本。你可以将这个副本分发给其他人,他们只需将该目录添加到系统环境变量`PATH`中,就可以运行Java程序了。 5. 配置环境变量:...