コマンドラインからTalend Perlのジョブを実行するときにファイルがありません

StackOverflow https://stackoverflow.com/questions/4424878

  •  09-10-2019
  •  | 
  •  

質問

Excelファイルからデータを抽出し、MySQLテーブルに配置するために、Simple Talend Perlジョブを作成しました。 Talend Studio 4.1.1で実行すると、これは正常に機能します。

問題は、私が仕事をエクスポートするときです。私はそうするようにそれを実行しようとします:

perl -ilib proj.job_import_prods_0.1.pl - context = default - context_param file_path = "/home/antoniocs/file.xls" $*

これにより、次のエラーが得られます。

@inc(@inc contains:/home/antoniocs/programming/lib/etc/perl/usr/local/lib/perl/5.10.1/usr/local/share/perl/in @inc(@incがcontains:/home/antoniocs/home/antoniocs/home/antoniocs/perl/)を見つけることができません。 5.10.1/usr/lib/perl5/usr/share/perl5/usr/lib/perl/5.10/usr/share/perl/5.10/usr/local/lib/site_perl。) 171.故障したことを開始 - lib/ole/storage_lite.pm line 171で中絶したコンパイル - lib/spradsheet/parseexcel.pm行でのコンピレーションが失敗しました。 。コンピレーションが失敗しましたproj.job_import_prods_0.1.pl line 568で必要です。

ジョブのフォルダーにparseexcel.pm int libフォルダーをすでに配置しています。必要なファイルをジョブのフォルダーに自動的に追加する方法はありませんか?

注:ジョブをエクスポートするときは、「エクスポート依存関係」をチェックしました。追加注:私はPerlプログラマではありません。

役に立ちましたか?

解決

あなたはどこで道を見つける必要があります talend Perlモジュールを保存します(ファイルを移動するだけでは)。それがわかったら、aを作成できます PERL5LIB 伝える環境変数 perl 探しているモジュールが保存されている場所:

PERL5LIB=/path/to/modules perl -Ilib proj.job_import_prods_0.1.pl --context=Default --context_param file_path="/home/antoniocs/programming/file.xls" $*

クイック find /where/talend/lives -name Scalar.pm 手がかりを与える必要があります(前にディレクトリが必要です IO)。複数のディレクトリが必要になった場合、それらは : のように PATH 環境変数。

または、パッケージマネージャーから必要なモジュールをインストールすることができます(ヒント、Redhatスタイルボックスは、Perl-Io-ScalarやDebianスタイルのボックスなどの名前を使用して、Libio-Scalar-Perlなどの名前を使用) CPAN.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top