从 Eclipse 创建可运行的 JAR 时遇到问题
Trouble creating a runnable JAR from Eclipse
我正在尝试在 Eclipse 中从 https://bitbucket.org/madsen953/ethervisu 创建一个 运行nable JAR。当我尝试 运行 时,我得到:
Exception in thread "Monitor" java.lang.UnsatisfiedLinkError: no jnetpcap in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.jnetpcap.Pcap.<clinit>(Unknown Source)
at ethervisu.monitors.JNetPcapMonitor.run(JNetPcapMonitor.java:28)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at java.io.DataInputStream.readInt(DataInputStream.java:387)
at processing.core.PFont.<init>(Unknown Source)
at processing.core.PApplet.loadFont(Unknown Source)
at jgv.graphics.JGVGraphics$GraphVisuApplet.setup(JGVGraphics.java:80)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "Animation Thread" java.lang.RuntimeException: Could not load font /data/ArialMT-48.vlw. Make sure that the font has been copied to the data folder of your sketch.
at processing.core.PApplet.die(Unknown Source)
at processing.core.PApplet.die(Unknown Source)
at processing.core.PApplet.loadFont(Unknown Source)
at jgv.graphics.JGVGraphics$GraphVisuApplet.setup(JGVGraphics.java:80)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
我认为这是因为我在创建 JAR 时无法保留目录结构。字体文件位于根目录而不是 data
目录。我该如何解决这个问题?
尝试检查 JDK 的路径设置是否正确指向构建路径中 java 的正确库。
并确保安装了正确的 jdk 版本。没有搞砸 x86/x64 安装。`
解决方案是将字体文件放在与 jar 相同的目录中名为 data
的目录中,运行 它与 java -Djava.library.path=jnetpcap-1.3.0 -jar thejar.jar
其中 jnetpcap-1.3.0
是一个jnetpcap 及其关联 .so
所在的目录。
我正在尝试在 Eclipse 中从 https://bitbucket.org/madsen953/ethervisu 创建一个 运行nable JAR。当我尝试 运行 时,我得到:
Exception in thread "Monitor" java.lang.UnsatisfiedLinkError: no jnetpcap in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.jnetpcap.Pcap.<clinit>(Unknown Source)
at ethervisu.monitors.JNetPcapMonitor.run(JNetPcapMonitor.java:28)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at java.io.DataInputStream.readInt(DataInputStream.java:387)
at processing.core.PFont.<init>(Unknown Source)
at processing.core.PApplet.loadFont(Unknown Source)
at jgv.graphics.JGVGraphics$GraphVisuApplet.setup(JGVGraphics.java:80)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "Animation Thread" java.lang.RuntimeException: Could not load font /data/ArialMT-48.vlw. Make sure that the font has been copied to the data folder of your sketch.
at processing.core.PApplet.die(Unknown Source)
at processing.core.PApplet.die(Unknown Source)
at processing.core.PApplet.loadFont(Unknown Source)
at jgv.graphics.JGVGraphics$GraphVisuApplet.setup(JGVGraphics.java:80)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
我认为这是因为我在创建 JAR 时无法保留目录结构。字体文件位于根目录而不是 data
目录。我该如何解决这个问题?
尝试检查 JDK 的路径设置是否正确指向构建路径中 java 的正确库。
并确保安装了正确的 jdk 版本。没有搞砸 x86/x64 安装。`
解决方案是将字体文件放在与 jar 相同的目录中名为 data
的目录中,运行 它与 java -Djava.library.path=jnetpcap-1.3.0 -jar thejar.jar
其中 jnetpcap-1.3.0
是一个jnetpcap 及其关联 .so
所在的目录。