今天下载了个开源包,试着去运行它自带的examples,当然要在命令行下用ant来build。
平时做java开发都是用的eclipse,很少用命令行工具。遇到不会的地方用java查看它的命令参数也能解决一部分问题。
build之后,在生成的class文件夹下运行java ClassName,一直报错找不到class,想想觉得好笑,这么基础的问题居然一直没学习过。赶紧补上吧。
当然,问题的解决方法不难。网上查了查,发现是木有指定classpath,并且Class文件中有包名。
解决方法如下:
1. 将编译好的class文件所在文件夹加到-classpath参数下,如 -classpath F:\test\class
2. 在运行编译好的class文件之前,先建立包名对应的文件夹,如 com,把class文件移动到com文件夹下
3. 运行命令 java -classpath F:\test\class com.ClassName
注:如果需要引用其他的jar包,把jar的路径加到classpath中就行了,用;号隔开。
再看看打jar包,和运行jar包的问题。
还是用刚才那个例子,生成jar包:jar -cvr test.jar com
再修改test.jar中的MANIFEST.MF,最后一行加上:Main-Class: com.ClassName
命令行中运行java -jar test.jar
注:如果需要引用其他的jar包,可以将引用的一同打入test.jar,再在MANIFEST.MF加入:Class-Path: ./lib/xxx.jar
本文介绍了如何通过正确设置classpath及构建包结构来解决Java环境中常见的Class未找到问题,并提供了生成与运行jar包的具体步骤。
2104

被折叠的 条评论
为什么被折叠?



