Skip to content

Commit

Permalink
Update changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
jjlauer committed Oct 19, 2023
1 parent f747ae6 commit a1236ea
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Java Native Extractor by Fizzed

## 3.3.0 - 2023-10-18

- Java 8+ compat moving forward
- CI testing on Java 21

## 3.2.3 - 2023-10-18

- Final release supporting Java 7!
- Log message enhancements

## 3.2.2 - 2023-01-12

- More enhancements to MUSL detection

## 3.2.1 - 2023-01-13

- Improved ARMEL vs. ARMHF detection
Expand Down
22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,28 @@

Java library (targeting 6+, plus 8, 11, 17, 21 etc) for finding, extracting, and using os and architecture
dependent files (executables, libraries, and/or other files) that are packaged
as resources within jar files. Allows them to be easily included as part of a
Java application and intelligently extracted for use at runtime. This library makes
as resources within jar files. Extensive support and testing for operating system, libc (e.g. glibc vs. musl), and
hardware architecture detection.

Allows them to be easily included as part of a Java application and intelligently extracted for use at runtime. This library makes
it easy to build your own custom "bin" directory based on the runtime operating
system and architecture. You can package .exe and .dll/.so resources within
jars and then use something like maven for dependency management.

Here is how it works. At runtime, Java let's you find resources in directories
and/or jars (if they are included on the classpath). Let's say you wanted to call
an external "cat" executable. With a properly packaged resource on the classpath
this executable can found with
and/or jars (if they are included on the classpath). Let's say you wanted to load
at runtime a shared object (.dll, .so, .dylib) that was packaged inside a .jar

File catExeFile = JNE.findExecutable("cat");
JNE.loadLibrary("mylib");

The library would search for the resource using the following resource path

The library would search for the resource using the following path
/jne/<os>/<arch>/<lib>

/jne/<os>/<arch>/<exe>
Or let's say you wanted to call an external "cat" executable. With a properly packaged resource on the classpath
this executable can found with

File catExeFile = JNE.findExecutable("cat");

If found the resource would be intelligently extracted to a temporary directory so it
can be executed.
Expand Down

0 comments on commit a1236ea

Please sign in to comment.