Как развернуть банку на Raspberry Pi 2 с помощью плагина Maven

У меня есть простой класс Java с использованием Pi4J, который содержит метод main. Я хочу собрать и развернуть его на Raspberry Pi. Я использую Java 8 на Windows 10, и моя IDE NetBeans 8.1. Если проект настроен на обычное (не Maven) Java-приложение и настроен для развертывания на Raspberry Pi с помощью конфигураций сборки NetBeans, как показаноВот, проект создаст обычный и FTP через jar, а затем запустит его без проблем. Я хотел бы сделать то же самое, но с использованием Maven. Проблема в том, что код, который выполняется, имеет код на C, родной для архитектуры ARM Pi и плагина Maven, который я использую, похоже, сначала запускает jar на моем локальном компьютере, в котором код C вылетает, вызывая исключение

SEVERE: невозможно загрузить [libpi4j.so], используя путь: [/lib/libpi4j.so] java.lang.IllegalArgumentException: путь должен быть абсолютным, но он найден: \ lib \ libpi4j.so в com.pi4j.util. NativeLibraryLoader.loadLibraryFromClasspath (NativeLibraryLoader.java:120) в com.pi4j.util.NativeLibraryLoader.load (NativeLibraryLoader.java:92) в com.pi4j.wiringpi.Gpio. (Gpio.java.4: at). gpio.RaspiGpioProvider. (RaspiGpioProvider.java:51) в com.pi4j.io.gpio.GpioFactory.getDefaultProvider (GpioFactory.java:106) в com.pi4j.io.gpio.impl.GpioControllerImpljljlj. в com.pi4j.io.gpio.GpioFactory.getInstance (GpioFactory.java:89) в com.hadronix.pi4jsample2.ControlGpioExample.main (ControlGpioExample.java:24)

Исключение в потоке "main" java.lang.UnsatisfiedLinkError: com.pi4j.wiringpi.Gpio.wiringPiSetup () Я в com.pi4j.wiringpi.Gpio.wiringPiSetup (собственный метод) в com.pi4j.io.gpio.RaspiGpioProvider. RaspiGpioProvider.java:51) на com.pi4j.io.gpio.GpioFactory.getDefaultProvider (GpioFactory.java:106) на com.pi4j.io.gpio.impl.GpioControllerImpl. (GpioControllerImpl.java:54: com: at. io.gpio.GpioFactory.getInstance (GpioFactory.java:89) в com.hadronix.pi4jsample2.ControlGpioExample.main (ControlGpioExample.java:24)

Если я просто сделаю чистую сборку, она будет хорошо работать и создаст флягу. Тем не менее, если я решу запустить сборку, то произойдет сбой. Это плагин Maven, который я использую, чтобы развернуть банку на Пи.

<!-- OPTIONALLY DEPLOY THE FINAL JAR TO THE RASPBERRY PI -->
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>

                <!-- copy the compiled JAR file to the Raspberry Pi platform platform -->
                <execution>
                    <id>ControlGpioExample.jar</id>
                    <phase>install</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <taskdef resource="net/sf/antcontrib/antcontrib.properties"
                                     classpathref="maven.plugin.classpath" />
                            <if>
                                <equals arg1="${pi.transfer.dev}" arg2="true" />
                                <then>
                                    <!-- ensure the target directory exists on the Raspberry Pi -->
                                    <sshexec host="${pi.host.dev}" port="${pi.port.dev}" username="${pi.user.dev}"
                                                                                     password="${pi.password.dev}" trust="true" failonerror="false"
                                                                                     verbose="true" command="mkdir --parents ${pi.dirCopyTo.dev}" />
                                    <!-- copy the JAR file to the Raspberry Pi -->
                                    <scp
                                        file="${project.build.directory}/${project.build.finalName}.jar"
                                        todir="${pi.user.dev}:${pi.password.dev}@${pi.host.dev}:${pi.dirCopyTo.dev}"
                                        port="${pi.port.dev}" trust="true" verbose="true" failonerror="true">
                                    </scp>
                                </then>
                            </if>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant-jsch</artifactId>
                    <version>${ant-jsch.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.jcraft</groupId>
                    <artifactId>jsch</artifactId>
                    <version>${jsch.version}</version>
                </dependency>
                <dependency>
                    <groupId>ant-contrib</groupId>
                    <artifactId>ant-contrib</artifactId>
                    <version>${ant-contrib.version}</version>
                </dependency>
            </dependencies>
        </plugin>

Я пытаюсь выяснить, как изменить этот плагин, чтобы сначала не выполнять код на моей локальной машине. Я просто хочу, чтобы он предположил, что баночка построена, вставил ssh в удаленный Pi, скопировал банку и запустил ее там. Кроме того, если у кого-то есть совершенно лучший способ использования Maven, тогда я открыт для предложений. Любая помощь будет отличной!

Вот ссылки на то, что я использую в качестве ссылокссылка на сайт 1

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос