1.即将class打成jar包
只要能通过编译,能被别的项目以 import 的方式调用就行了。
无法找到主类或者找不到 xxx 依赖包/类
没有定义 MANIFEST.MF
嵌套的依赖 jar 包是不能直接被程序 import 识别的
2.能直接在 cmd 下直接通过Java -jar的命令运行。
通过 lanuch configuration 指定一个 MainClass,并会自动生成 MANIFEST.MF
帮你把依赖的 jar 包解压出来,一并打进最终的 jar 包.可以被 import
输入一个命令,java。统先在当前目录搜索是否有java.exe, java.bat 等。 如果没有,就得到系统的PATH(不区分大小写)里面查找。
所以 path 就是系统为了搜索某个资源而配置的一个参数。
CLASSPATH 当我们需要某个class时,系统会自动在CLASSPATH里面搜索,如果是jar,就自动从jar里面查找,如果是普通的目录,则在目录下面按照package进行查找。与PATH不同,默认的CLASSPATH不包含当前目录的,这也是CLASSPATH里面要包含一个点的道理了。
Tomcat下的Web应用有两个预置的classpath : WEB-INF/classes 和WEB-INF/lib启动项目,项目就会加载这两个目录里的数据。这是war包的规范
WEB-INF/classes目录存放src目录Java文件编译之后的class文件,xml、properties等资源配置文件,这是一个定位资源的入口。
WEB-INF/ 是资源目录, 客户端不能直接访问。
一个在tomcat中运行的web应用.它的classpath都包括如下目录:
%tomcat%/lib
web-inf/lib
web-inf/classes
环境变量里的classpath
环境变量 通俗的说,环境变量就是在操作系统中定义的变量,可供操作系统上的所有应用程序使用。
javac xx.java 成功
java xx 找不到或无法加载主类
在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。
变量名 classpath
变量值 .;C:\Users\bofei\Downloads\thinkinJava\net.mindview.jar
eclipse .classpath文件 <classpathentry kind="lib" path="C:\Users\bofei\Downloads\thinkinJava\net.mindview.jar"/>
chcp 437
chcp 936