Project

General

Profile

整備 #4378

javaのRTC実行用シェルスクリプトにcpの設定を追加。

Added by katami about 4 years ago. Updated almost 4 years ago.

Status:
解決
Priority:
通常
Assignee:
Target version:
-
Start date:
11/29/2017
Due date:
% Done:

100%

Estimated time:

Description

Java版のRELEASE_1_2_0から、実行時にjna、jna-platformというライブラリを使う機能が実装されています。
そのため、RTC実行用シェルスクリプトにこれらのライブラリのクラスパスを追加する必要があります。
これらのライブラリは、同梱され /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar にインストールされます。
RTC実行用シェルスクリプトにクラスパス設定の処理を追加願います。
また、実行時にrtc.confや<RTC>名.confが読み込めないですので併せて修正願います。
以下に実行用のシェルスクリプトを示します。RTC名は"ModuleName"です。
BOM無しでお願いします。

#!/bin/sh
get_classpath()
{
  FILE1=`ls ${RTM_JAVA_ROOT}/jar/OpenRTM*`
  FILE2=`ls ${RTM_JAVA_ROOT}/jar/commons-cli*`
  FILE3=`ls ${RTM_JAVA_ROOT}/jar/jna-?.?.?.jar`
  FILE4=`ls ${RTM_JAVA_ROOT}/jar/jna-platform-*.jar`
  CLASSPATH=.:$FILE1:$FILE2:$FILE3:$FILE4:${RTM_JAVA_ROOT}/bin:`dirname $0`/bin
  echo ${CLASSPATH}
}

if test "x$RTM_JAVA_ROOT" = "x" ; then
    echo "Environment variable RTM_JAVA_ROOT is not set." 
    echo "Please specify the OpenRTM-aist installation directory." 
    echo "Abort." 
    exit 1
fi
export CLASSPATH=`get_classpath`
java ModuleNameComp -f rtc.conf $*

History

#1 Updated by katami about 4 years ago

すみません。上記に添付したシェルクリプトだとうまく動作しませんでした。
調査します。

#2 Updated by katami about 4 years ago

調査した結果、動作しなかった原因は、上記のRTC実行用シェルスクリプトではなく、rtc.confと<RTC名>.confがBOM付きであることが原因でした。
RTCBが生成するRTC実行用シェルスクリプトに上記の変更をお願いします。

#3 Updated by ga almost 4 years ago

  • Status changed from 新規 to 解決
  • Assignee set to ga
  • % Done changed from 0 to 100

実行用シェルスクリプトを修正させて頂きました r779

#4 Updated by katami almost 4 years ago

修正を確認しました。
ありがとうございます。

Also available in: Atom PDF