是因为你的jdk默认在\lib目录中查找文件,如果你想将*.jar文件放到自己指定的位置,你需要在编译前set path 以下是个编译批处理文件@REM Adjust these variables to match your deployment environment set MYROOT=D:\你测试使用的目录 set MYSERVER=%MYROOT%\放置编译所需文件的目录(假设在此目录有两个子目录classes和lib,使用你的javabook.jar做例子); @REM Adjust these variables to match your environment set JAVA_HOME=D:\你的JDK目录 set WL_HOME=d:\应用服务器目录(若你不需要这里可以不管他) set MYCLASSPATH=%WL_HOME%\server\lib\weblogic.jar;%MYSERVER%\classes;%MYSERVER%\lib\javabook.jar;E:\oracle\ora90\jdbc\lib\classes12.jar;C:\j2sdkee1.3.1\lib\j2ee.jar; set PATH=%JAVA_HOME%\bin;%WL_HOME%\server\lib;%MYSERVER%\classes;%MYSERVER%\lib @REM Compile public classes into the serverclasses directory javac -d %MYSERVER%\classes -classpath %MYCLASSPATH% *.java注意javac的参数d
to jimsonweed: 你用winrar打开jar包看看,其中有一个meta-inf目录,此目录下的文件可以指定压缩包中文件的相互关系,还可以设定主执行程序。用你的程序举个例子: 你的测试程序(带有main方法)可以在做到压缩包中,将主程序指定为你的测试类(若有包,需要指明该类的位置)。运行时直接运行该压缩包即可。
出错的原因已经找到,,
我的javabook放在f:\java\lib
我的程序放在f:\java\bin
错误就在这里,,
应该放在f:\java\lib就可以了,
第二个错误是
package javabook;不应该加,
原因我不知道,反正去掉就没事了~~~~~~
解决~~~~~~~
各位大侠可以帮我解答吗????
以下是个编译批处理文件@REM Adjust these variables to match your deployment environment
set MYROOT=D:\你测试使用的目录
set MYSERVER=%MYROOT%\放置编译所需文件的目录(假设在此目录有两个子目录classes和lib,使用你的javabook.jar做例子);
@REM Adjust these variables to match your environment
set JAVA_HOME=D:\你的JDK目录
set WL_HOME=d:\应用服务器目录(若你不需要这里可以不管他)
set MYCLASSPATH=%WL_HOME%\server\lib\weblogic.jar;%MYSERVER%\classes;%MYSERVER%\lib\javabook.jar;E:\oracle\ora90\jdbc\lib\classes12.jar;C:\j2sdkee1.3.1\lib\j2ee.jar;
set PATH=%JAVA_HOME%\bin;%WL_HOME%\server\lib;%MYSERVER%\classes;%MYSERVER%\lib
@REM Compile public classes into the serverclasses directory
javac -d %MYSERVER%\classes -classpath %MYCLASSPATH% *.java注意javac的参数d
进入你的类文件所在目录,运行实用程序jar cvf 文件名.jar *
运行该程序前需要set path你的jdk相关环境(例如bin目录)
在以前的贴中有看到可以这样制作.jar ,可是我尝试的时候,出错了,刚刚又用了一下,没有问题,,,可是用这种方法得到的javabook.jar,“体积”可比用压缩得到的大了好多呢,一个50K,一个1956K,里面都多了什么文件????
看看java document中关于tools的文档
你用winrar打开jar包看看,其中有一个meta-inf目录,此目录下的文件可以指定压缩包中文件的相互关系,还可以设定主执行程序。用你的程序举个例子:
你的测试程序(带有main方法)可以在做到压缩包中,将主程序指定为你的测试类(若有包,需要指明该类的位置)。运行时直接运行该压缩包即可。