Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #39785
| From | Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Load jar into classpath and access resources in it at runtime |
| Date | 2022-06-23 12:31 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <t91fet$jjk$1@dont-email.me> (permalink) |
| References | <16f09c2d-e244-4ada-8e55-c1014fde20c1n@googlegroups.com> |
On 21/06/2022 17:38, mike wrote: > Hi, > > I have created a jar file, test-example.jar, and added under src/test/resources > and now I want to make sure that when I run the testcase > this jar file is loaded so I can access files in it. I am using java 11. > > Q1: How to load jar, in testcase, at runtime? > Q2: How to access resource in jar. Resource resides in jar with the following path suites/tools/device/nc/testng2.xml > > br, > > //mike Normally, what you put under /src is what you want packaged (in a JAR, WAR, etc.). If you put a JAR there, and your sources are packaged as a JAR, you'll end up with JAR inside your JAR. Which I would say is definitely technically workable. I'm not sure whether it's a recommended practice or not. To load such a JAR file, you'd have to load it as a resource Thread.getThread().getContextClassLoader().getResource(NAME_OF_THE_JAR_FILE) , then create a new ClassLoader for that resource -- which will be binary, so not a URLCLassLoader... Then load the resource/class you need from that classloader. Perhaps instead of the above, one could simply create a URLClassLoader with a "classpath:/NAME_OF_THE_JAR_FILE" URL. I mention it in case, but IIRC the "classpath:/" resource prefix is something that Spring code brings, it's not out of the box. Not sure. Alternatives to all of the above include: - at or before build time, extracting the files you need from the JAR and putting them in your /src tree flat; - putting the JAR file alongside your source tree (in a lib directory) and making sure it's added to the classpath when the runtime is launched, in which case you could access classes and resources from it as though they were in your /src tree. -- DF.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Load jar into classpath and access resources in it at runtime mike <mikaelpetterson@hotmail.com> - 2022-06-21 08:38 -0700
Re: Load jar into classpath and access resources in it at runtime Arne Vajhøj <arne@vajhoej.dk> - 2022-06-21 14:09 -0400
Re: Load jar into classpath and access resources in it at runtime Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2022-06-23 12:31 +0200
Re: Load jar into classpath and access resources in it at runtime "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2022-06-23 05:20 -0700
Re: Load jar into classpath and access resources in it at runtime Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2022-06-23 15:33 +0200
Re: Load jar into classpath and access resources in it at runtime "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2022-06-23 14:01 -0700
csiph-web