本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看活动链接
在Java类路径内的目录中包含所有jar
有没有办法将所有jar文件包含在类路径的目录中?
我正在尝试java -classpath lib/*.jar:. my.package.Program,但找不到这些jar中肯定存在的类文件。我是否需要将每个jar文件分别添加到类路径中?
高分回答:
在Windows下,该方法有效:
java -cp "Test.jar;lib/*" my.package.MainClass
这不起作用:
java -cp "Test.jar;lib/*.jar" my.package.MainClass
请注意*.jar,因此*通配符应单独使用。
在Linux上,以下工作:
java -cp "Test.jar:lib/*" my.package.MainClass
分隔符是冒号而不是分号。
高分回答:
通过部署一个主jar文件myapp.jar来解决此问题,该文件包含一个manifest(Manifest.mf)文件,该文件指定了带有其他必需jar的类路径,然后将其与该jar一起部署。在这种情况下,只需要java -jar myapp.jar在运行代码时声明即可。
因此,如果将main部署jar到某个目录中,然后将相关的jar放入该lib目录下的文件夹中,则清单如下所示:
Manifest-Version: 1.0
Implementation-Title: myapp
Implementation-Version: 1.0.1
Class-Path: lib/dep1.jar lib/dep2.jar
注意:这与平台无关-我们可以使用相同的jar在UNIX服务器或Windows PC上启动。
文章翻译自 yl2gl72eozkinivz3vc6swkesy-ac4c6men2g7xr2a-translate.translate.goog/questions/2…
作者建议:建议使用maven来管理依赖jar
真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话
求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!
如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️