2017-11-21 2 views
0

내 환경에서 mqsicreatebar를 사용하는 것과 약간 혼동 스럽다. 나는 파일 구조 다음과 같은 예를 들어,이 :참조가있는 IBM 통합 버스 mqsicreatebar

root 
|--Libraries 
| \--Library1 
\--Apps 
    \--App1 
     \--.project 

그리고 앱 1은 Library1를 참조 입니다.

Library1이 포함 된 App1을 포함하도록 mqsicreatebar를 실행하고 싶습니다. 루트/Apps 폴더에서 다음 명령을 실행하려고합니다.

mqsicreatebar -data ./ -b newbarfile.bar -cleanBuild -deployAsSource -a App1 -trace 

"참조 된 프로젝트 라이브러리 1을 파일 시스템에서 찾을 수 없습니다"라는 오류 메시지가 나타납니다. 이 파일 구조로 BAR을 만들려면 어떻게해야합니까?

+0

해당 구조의 어떤 디렉토리에서 실행하고 있습니까? "라이브러리"와 "응용 프로그램"둘 다 (둘 다 포함)의 부모 폴더에서? – Dex

+0

@Dex, 아니요. 이미 질문에서 언급했듯이 Apps 폴더에서 실행합니다. 조금 더 명확하게하기 위해 질문을 업데이트했습니다. BTW, "루트"폴더에서 명령을 실행할 가능성이 있다면 훌륭한 해결책이 될 것입니다. – BitLord

+0

자신의 솔루션을 추가했습니다. 아마도 완벽하지는 않지만 내 문제는 해결되었습니다. 만약 누군가가 더 나은 옵션 게시물을 너무하시기 바랍니다. – BitLord

답변

0

그건 "데이터"매개 변수는 어디를 찾기 위해 mqsicreatebar 명령을 알려줍니다 eclipse 작업 공간 (Integration Toolkit 작업 공간)은 mqsicreatebar 명령에 빌드에 필요한 프로젝트 파일과 기타 파일이있는 위치를 알려줍니다.

이미 작업 공간이없는 경우 명령은 현재 디렉토리 및 해당 하위 디렉토리에 대해서만 작성합니다. 나는 이것이 얼마나 깊은 지 모르겠다. 나는 프로젝트 파일을 위해 적어도 하나의 하위 디렉토리를 본다는 것을 안다. (주석이 두 개의 하위 디렉토리를 보지 않는다고 함축한다.)

다른 방법으로 (그리고 나는 이것이 바람직하지 않다고 생각하지만 이미 게시 한 것과 비슷한 옵션입니다.) 폴더 조직을 포기하고 라이브러리와 app 하위 폴더를 같은 루트 폴더에 넣을 수 있습니다. 그래서, 당신은 :

root 
|--Library_1 
|--Library_2 
|--App_1 
|--App_2 

이 내 대나무 프로젝트에 설정 한 것입니다 및 빌드는이 루트 디렉토리에 한 나는 데이터 매개 변수를 지점으로, 명령을 실행하기 전에, 심지어 어떤 작업 파일과 작업 (명령).

0

내가 mqsicreatebar을 실행하기 전에 현재 디렉토리에 필요한 아티팩트를 복사하고 빌드 완료 후에 삭제 자신에 의해 발견했습니다 유일한 방법은 :

cd /root/Apps/ 
cp -R ../Libraries/Library1/ ./ 
mqsicreatebar -data ./ -b newbarfile.bar -cleanBuild -deployAsSource -a App1 -trace 
rm -r Library1/ 
관련 문제