How to use regular expression in java manifest classpath?
I need to make use of additional jars during the execution of the program.开发者_Python百科 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?
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/*
.
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.
精彩评论