如何在java清单类路径中使用正则表达式?

发布于 2024-10-13 14:00:10 字数 75 浏览 1 评论 0原文

我需要在程序执行期间使用额外的罐子。我手动将 jar 添加到相关的 ./lib 文件夹,然后执行程序。我应该如何在清单文件中定义类路径?

I need to make use of additional jars during the execution of the program. I manually add the jars to the relative ./lib folder and then execute the program. How should I define the classpath in the manifest file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黑白记忆 2024-10-20 14:00:10

您不能在清单的 Class-Path 属性中使用正则表达式或其他通配符。

Java 中只有一个受支持的通配符,并且只有在“手动”java 调用的命令行上指定时才有效(即不使用 -jar): 使用directoryname/*

You can't use regular expressions or other wildcards in the Class-Path attribute of your manifest.

There is only one supported wildcard in Java, and that only works on if specified on the commandline on a "manual" java invocation (i.e. not using -jar): using directoryname/*.

幸福丶如此 2024-10-20 14:00:10

我不太确定您到底想要什么,但是您可以在运行时添加 jar:

  • 在包含 jar 的目录上使用 File.list() 列出(jar)文件
  • 对您检索的文件名执行正则表达式
  • 使用 URLClassLoader 来加载 jar

我不知道如何将 URLClassLoaders 注册(如果需要)到主类加载器。但这就是我想我会走的路。

I'm not all too sure about what you want exactly, but you can add jars during runtime:

  • list (jar) files using File.list() on the directory containing the jars
  • do a regex on the filenames you retrieve
  • use an URLClassLoader to load the jar

I don't know exactly how to register (if necessary) the URLClassLoaders to the main classloader. But that's the way I think I would go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文