2014-11-25 3 views
0

Я хочу упаковать свое приложение Java как пакет Debian. Я использую сборки в родной упаковщик (8.0.1 NetBeans) для DEB-пакетовNetbeans активная упаковка на ubuntu - dpkg не найден

После выхода после упаковки: Выполнить не удалось: java.io.IOException: «Команда» программа не может работать (в директории

"/home/testuser/Songs"): error=2, No such file or directory /home/testuser/Songs/nbproject/jfx-impl.xml:3415: The following error occurred while executing this line: /home/testuser/Songs/nbproject/jfx-impl.xml:3584: Error: JavaFX native packager requires Debian Packager tools to create DEB package, but dpkg could not be found. BUILD FAILED (total time: 1 second)

Я установил DPKG-DEV с APT-получить. переменная PATH $ содержит/USR/бен

Я не знаю, как решить эту проблему. кто имеет представление о том, почему не NetBeans find dpkg?

ответ

2

Я решил проблему, переопределяющую назначение -check-dpkg-presence target в nbproject/jfx-impl.xml.

Оригинальная цель ищет файл «command» в папке проекта. Строка проверяет реальный путь dpkg. Запуск команды -v dpkg вы получаете/usr/bin/dpkg.

Это же beavoiur вы получите, если вы попытаетесь линии

который Dpkg ==>/USR/бен/DPKG

Так что я сделать это в build.xml

<target name="-check-dpkg-presence" depends="-check-native-bundling-type" if="need.dpkg.presence"> 
     <local name="exec.which.dpkg.result"/> 
     <local name="exec.which.dpkg.output"/> 
     <exec executable="which" failifexecutionfails="false" failonerror="false" resultproperty="exec.which.dpkg.result" outputproperty="exec.which.dpkg.output"> 
      <arg line="dpkg"/> 
     </exec> 
     <condition property="missing.dpkg"> 
      <not><and> 
       <isset property="exec.which.dpkg.result"/> 
       <equals arg1="${exec.which.dpkg.result}" arg2="0"/> 
       <isset property="exec.which.dpkg.output"/> 
       <not><equals arg1="${exec.which.dpkg.output}" arg2=""/></not> 
      </and></not> 
     </condition> 
    </target> 

Я изменяю атрибут (executable = 'which') и атрибут строки тега arg.

И это работает.

1

Если вы попытаетесь запустить ant -v build-native в вашем каталоге проектов вы увидите ошибку. Скрипт сборки муравья, созданный NetBeans, пытается запустить command dpkg ... для сборки пакета, но поскольку «команда» - это встроенная команда оболочки в/bin/bash, тест «command» в вашем PATH терпит неудачу.

Я создал скрипт под названием «команда» в моем локальном пути с этим:

#!/bin/bash 
command [email protected] 

, который работает отлично.

+0

Это отлично работает для меня. Тем не менее, примерно год спустя можно было бы подумать, что Oracle, если не исправить проблему, документирует ее в readme. –

+0

Можете ли вы, пожалуйста, объяснить местные средства! –

 Смежные вопросы

  • Нет связанных вопросов^_^