Tag: raspberry pi2

如何使用Maven插件将jar部署到Raspberry Pi 2上

我有一个使用Pi4J的简单java类,它包含一个main方法。 我想构建它并将其部署到Raspberry Pi。 我在Windows 10上使用java 8,我的IDE是NetBeans 8.1。 如果项目设置为普通(非Maven)Java应用程序并设置为通过此处所示的NetBeans构建配置部署到Raspberry Pi,则项目将在jar上构建普通和FTP,然后运行它没有问题。 我想做同样但使用Maven。 问题是正在运行的代码具有C代码的原生设备,而我正在使用的Ma架构我正在使用的Maven插件似乎首先在我的本地盒子上运行jar,其中C代码将崩溃抛出exception 严重:无法使用路径加载[libpi4j.so]:[/ lib / libpi4j.so] java.lang.IllegalArgumentException:路径必须是绝对路径,但在com.pi4j.util中找到:\ lib \ libpi4j.so。 NativeLibraryLoader.loadLibraryFromClasspath(NativeLibraryLoader.java:120)at com.pi4j.util.NativeLibraryLoader.load(NativeLibraryLoader.java:92)at com.pi4j.wiringpi.Gpio。(Gpio.java:174)at com.pi4j.io. gpio.RaspiGpioProvider。(RaspiGpioProvider.java:51)com.pi4j.io.gpio.GpioFactory.getDefaultProvider(GpioFactory.java:106)at com.pi4j.io.gpio.impl.GpioControllerImpl。(GpioControllerImpl.java:54) at com.pi4j.io.gpio.GpioFactory.getInstance(GpioFactory.java:89)at com.hadronix.pi4jsample2.ControlGpioExample.main(ControlGpioExample.java:24) 线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:com.pi4j.wiringpi.Gpio.wiringPiSetup()我在com.pi4j.io.gpio.RaspiGpioProvider的com.pi4j.wiringpi.Gpio.wiringPiSetup(Native Method)中。( RaspiGpioProvider.java:51)com.pi4j.io.gpio.GpioFactory.getDefaultProvider(GpioFactory.java:106)位于com.pi4j的com.pi4j.io.gpio.impl.GpioControllerImpl。(GpioControllerImpl.java:54)。 io.gpio.GpioFactory.getInstance(GpioFactory.java:89)at com.hadronix.pi4jsample2.ControlGpioExample.main(ControlGpioExample.java:24) 如果我只是做一个干净的构建,它将构建良好并创建jar。 但是,如果我选择运行构建,那么崩溃发生的地方。 这是我用来将jar部署到Pi的Maven插件。 maven-antrun-plugin ControlGpioExample.jar install run org.apache.ant ant-jsch ${ant-jsch.version} com.jcraft jsch ${jsch.version} ant-contrib ant-contrib ${ant-contrib.version} 我试图弄清楚如何更改此插件,以便不在我的本地计算机上首先执行代码。 我只是想让它假设jar是构建的,ssh到远程Pi并复制jar然后在那里运行它。 此外,如果有人在使用Maven时有更好的方法,那么我愿意接受建议。 任何帮助都会很棒! 以下是我正在使用的链接 1的链接 […]

JAVA – Raspberry-pi – 应用程序即服务启动然后立即停止

我需要在raspberry的创业公司启动一个Java应用程序,但我无法弄清楚如何?! 我已经检索了PbxMan的脚本,将其作为服务运行: https ://stackoverflow.com/a/21283530/5066919 我做了一个简单的脚本,在后台启动应用程序 我在重新启动时将它推入crontab中… 我在main的第一行和addShutdownHook()中播放声音。 所以我可以听到每次应用程序启动然后立即停止… 当然,当我在CLI中启动它时,我没有这个问题! :@