自己做了一个jar包,在命令行下输入java -jar d:\aaa\run.jar可以运行。
但是我想在环境变量中注册一下,避免每次运行都要输入jar的绝对路径,不知道怎么弄。
也就是我想在命令行输入java -jar run.jar 即可运行。
但我试了java -jar run.jar结果是“unable to access jarfile run.jar”
再运行 java -classpath -jar run.jar结果是“Exception in thread "main" java.lang.NoClassDefFoundError”:run/jar
很急啊,请大家帮忙啊。
但是我想在环境变量中注册一下,避免每次运行都要输入jar的绝对路径,不知道怎么弄。
也就是我想在命令行输入java -jar run.jar 即可运行。
但我试了java -jar run.jar结果是“unable to access jarfile run.jar”
再运行 java -classpath -jar run.jar结果是“Exception in thread "main" java.lang.NoClassDefFoundError”:run/jar
很急啊,请大家帮忙啊。
嫌麻烦的话,直接把它拷到你的%JAVA_HOME%/bin目录里即可。
可以直接用 java main函数的类 来起动你的程序啊。比如我的jar,在C:\path\TIMECOUNTER.jar;文件夹下。
我把 C:\path\TIMECOUNTER.jar; 配置在环境变量里。
我在命令行直接输入 java DownCounter 就可以运行了
其中 DownCounter 是有main函数的类。
有main函数的类能够运行,但是在单个类中它对"./"的处理可能和运行jar包不一样。
是不是这样我现在还不得而知,故如果大家有这方面经验,希望不吝赐教。
因为加入classpath只是把run.jar中的类放入虚拟机,可以直接调用了。
你用java run.jar中含有main函数的类就可以启动了
个人意见,希望能帮助你
现在的问题就是在类中硬编码了一个xml文件和程序的相对路径,
但是当我在命令行运行的时候由于命令行的"./"不一定是程序的当前目录,所以不知道怎么办。
因为它对"./"的解释是当前命令行切换到的目录,
而不是java程序所在的目录。