Update Java example

This commit is contained in:
Joseph Henry
2023-06-04 15:07:32 -07:00
parent 4aa57d7360
commit 356dcd05f6
3 changed files with 49 additions and 15 deletions

View File

@@ -5,7 +5,7 @@ import java.math.BigInteger;
import java.net.DatagramPacket; import java.net.DatagramPacket;
import java.net.InetAddress; import java.net.InetAddress;
public class selftest { public class Example {
public static void main(String[] args) public static void main(String[] args)
{ {
if (args.length < 4 || args.length > 5) { if (args.length < 4 || args.length > 5) {
@@ -110,7 +110,7 @@ public class selftest {
/** /**
* (OPTIONAL) event handler * (OPTIONAL) event handler
*/ */
class MyZeroTierEventListener implements ZeroTierEventListener { class MyZeroTierEventListener implements com.zerotier.sockets.ZeroTierEventListener {
public void onZeroTierEvent(long id, int eventCode) public void onZeroTierEvent(long id, int eventCode)
{ {
if (eventCode == ZeroTierNative.ZTS_EVENT_NODE_UP) { if (eventCode == ZeroTierNative.ZTS_EVENT_NODE_UP) {

View File

@@ -1,9 +0,0 @@
all:
jar xf *.jar libzt.dylib
javac -cp *.jar Example.java
clean:
rm -rf *.class
superclean: clean
rm -rf *.dylib *.so *.jar

View File

@@ -1,11 +1,54 @@
# Java example # Java example
Build or download the `libzt-${VERSION}.jar`, and copy it to this directory. ## Build the JAR
From the top-level `libzt` directory:
``` ```
make ./build.sh host-jar
java -cp ".:libzt-${VERSION}.jar" Example server id_path 0123456789abcdef 9997 ```
java -cp ".:libzt-${VERSION}.jar" Example client id_path 0123456789abcdef ip.ip.ip.ip 9997
Should result in something like:
```
dist
└── linux-x64-jar-release
└── pkg
└── libzt-1.8.10.jar
```
Copy the JAR to the working directory:
*NOTE: If you've built multiple variants of the JAR such as debug/release or mac/linux you will need to specify their exact path in the following command. If not, you can use the wildcard form:*
```
cp -f dist/*/pkg/*.jar examples/java/libzt.jar
```
Navigate to the `examples/java` directory and extract the `libzt.so|dylib|dll` dynamic library from the JAR into the working directory:
```
jar xf *.jar libzt.dylib libzt.so libzt.dll
```
## Build the example app
```
javac -cp *.jar Example.java
```
## Run the example app
```
java -Djava.library.path=. -cp ".:libzt.jar" Example server id_path 0123456789abcdef 9997
java -Djava.library.path=. -cp ".:libzt.jar" Example client id_path 0123456789abcdef ip.ip.ip.ip 9997
```
## Clean
```
rm -rf *.dylib *.so *.jar *.dll *.class
``` ```
## Links ## Links