アプリケーション開発の最良事例 > ThingWorx Platform 上に構築されたアプリケーションのパッケージ化および展開 > 開発およびパッケージ化中の ThingWorx アプリケーションのトラブルシューティングおよびデバッグ
開発およびパッケージ化中の ThingWorx アプリケーションのトラブルシューティングおよびデバッグ
以下のセクションでは、拡張機能の開発および展開中に発生するいくつかの問題をトラブルシューティングする方法について説明します。
インポートに成功した後で Thing Template が存在しない
エンティティをインポートした後で Thing Template の作成中に問題が発生した場合、アプリケーションで Thing Template を使用できないことがあります。ただし、この例外は致命的ではありません。この例外の最も一般的な理由としては、Thing Template クラスに必要な JAR ファイルが欠落していることが考えられます。この問題が発生した場合、以下のチェックを実行します。
拡張機能の metadata.xml ファイルで、必要な JAR ファイルの宣言をチェックします。
拡張機能の lib/common ディレクトリ内に必要な JAR ファイルがあるかどうかをチェックします。
インポート時に JAR ファイルが競合する
ThingWorx Platform にすでにロードされている JAR ファイルをアプリケーションが使用する場合、JAR ファイル競合の例外が発生することがあります。この問題を修正するため、metadata.xml ファイルから JAR ファイルを除去できます。ただし、別のバージョンの JAR がプラットフォームにロードされている場合、JAR をメタデータファイルから除去するのは危険です。同じ JAR の複数の異なるバージョンが存在することで機能の競合が生じることがあります。この競合は拡張機能またはプラットフォーム自体に影響する可能性があります。最善の解決策としては、可能な場合、JAR を使用しないようにします。
ログをチェックして拡張機能をインポートする際の問題をデバッグする
ThingWorx アプリケーションではそのすべてのメッセージがアプリケーションログに記録されます。拡張機能をインポートすると、JAR ファイルからクラスがロードされ、エンティティが作成され、複数のバックグラウンドプロセスが同時に実行されます。これによって予期しないエラーが発生することがあります。いくつかの ThingWorx 成果物が欠落していることでインポートが失敗する場合と成功する場合があります。そのようなエラーが発生した場合、アプリケーションログをチェックしてエラーを見つけ、インポートでの異常に関する説明をお読みください。
アプリケーションログおよびその他のログを取得するには、Composer の「監視」メニューを使用します。
デバッグポートを Tomcat に接続する
アプリケーションをデバッグするには、Tomcat インスタンスにデバッグポートを接続するのが最も適しています。これにより、統合開発環境 (IDE) からプラットフォームに接続可能になります。アップロードしたコードにブレークポイントを追加できます。サービスをトリガーし、プロパティを設定し、Thing を保存し、コードの実行中にコード内で行われている処理を追跡できます。ブレークポイントを追加したコードと同じコードをアップロードしなければなりません。追加したブレークポイントはコードの別の行に関連付けられて、値や機能が別のものになる可能性があります。
Tomcat にデバッグポートを追加するには、起動時に Java オプションを追加しなければなりません。デバッグポートを追加するにはいくつかの方法があります。これは Tomcat の起動方法によって異なります。Tomcat および IDE のセットアップに応じてポートを設定しなければなりません。