2014-11-25 2 views
0

Java 응용 프로그램을 데비안 패키지로 패키지하고 싶습니다. 실패 실행 : java.io.IOException 상위를 : 프로그램 "명령"을 실행할 수 없습니다 (디렉토리우분투에서 Netbeans 활성 패키지 - dpkg을 찾을 수 없습니다.

에서 나는 포장 후 출력에 따라 뎁 - 패키지

에 대한 넷빈즈의 빌드 - 기본 패키저 (8.0.1)를 사용하고 있습니다 내가 가진 때 dpkg-dev에 설치 한

"/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)

apt-get을.는 $ PATH 변수가 포함는/usr/빈

나는 그 문제를 해결하는 방법을 모르겠어요. 누구든지 아이디어가있다 넷빈즈하지 않는 이유 dpkg를 찾으십니까?

답변

2

nbproject/jfx-impl.xml에서 target -check-dpkg-presence 정의를 재정의하는 문제가 해결되었습니다.

원래 대상은 프로젝트 폴더에서 "명령"파일을 찾습니다. 행은 dpkg의 실제 경로를 확인합니다. 명령 실행 -v dpkg는/usr/bin/dpkg를 얻습니다.

을 때 dpkg

당신이 선을하려고하면 이것은 당신이 얻을 같은 beavoiur입니다

때 dpkg ==>는/usr/빈/그래서 난의 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

를 실행하면 프로젝트 디렉토리에이 있으면 오류가 표시됩니다. NetBeans에서 만든 ant 빌드 스크립트는 패키지를 빌드하기 위해 command dpkg ...을 실행하려고 시도하지만 "command"는/bin/bash의 내장 쉘 명령이므로 PATH의 "command"테스트가 실패합니다. 잘 작동

#!/bin/bash 
command [email protected] 

:

나는이 내 로컬 경로에 "명령"라는 이름의 쉘 스크립트를 만들었습니다.

+0

이것은 잘 작동합니다. 여전히 약 1 년 후 오라클이 문제를 수정하지 않는다면 readme 파일에 문서화 할 것이라고 생각할 것입니다. –

+0

현지 방법을 설명해주십시오. –

관련 문제