jar文件怎么用
接着前面的项目代码:
http://blog.youkuaiyun.com/github_26672553/article/details/72769798
在target目录中有:me.class、my目录、news目录、news.jar。
我们既然已经把news目录打包成了news.jar文件,是不是可以删除news目录也没有问题呢?
#但是运行 java me 报错了
Exception in thread "main" java.lang.NoClassDefFoundError: news/NewsService
at my.myname.showName(myname.java:10)
at me.main(me.java:7)
Caused by: java.lang.ClassNotFoundException: news.NewsService
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
找不到news/NewsService。
这时我们的classpath又出现了
java -classpath news.jar:. me
#或者
java -cp news.jar:. me
如果在项目根目录(target目录的外层):
java -cp target:target/news.jar me
凭什么jar文件放lib目录
如果你有开发经验,你会发现很多指名的IDE都把jar统一放到一个叫做lib的目录下。
接下来我们把news.jar放到lib文件夹中。
本文详细介绍了如何使用已打包成jar文件的项目,并解释了在Java环境中设置正确的classpath的重要性。通过实例演示了不同classpath配置下的运行情况,以及为什么通常将jar文件放置在lib目录中的原因。

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



