簡単な概要:
- 私の状況
- 私が欲しいもの
- これまでに行ったこと
1. 私の状況:
私の会社では、Proxess というドキュメント アーカイブ ソフトウェアを使用しています。このソフトウェアは、対話するためのいくつかの API / インターフェイスを提供します。唯一の欠点は、それらがすべて C(++) / .NET 指向であることです。Java の公式サポートはありません。
私たちの自己開発アプリケーションはすべて Java で書かれており、私の会社はドキュメント アーカイブ ソフトウェアを切り替えたくないので、上司は JNI を使用してラッパーを開発し、アプリケーションがアーカイブを使用できるようにすることにしました。そして、私はこの仕事を受けた人です。
Windows 7ワークステーションでEclipse(現在、m2e Mavenプラグインを備えた「Kepler」リリース)を使用しています。すべてのアプリケーションは Maven マルチモジュール プロジェクトです。ターゲット プラットフォームは RedHat Enterprise Linux (6.3+) です。
2.私が欲しいもの:
JNI/C++ ブリッジ部分をカプセル化する別の Maven モジュールが必要です。可能であれば、モジュールの pom.xml に <build> セクションが必要です。そのため、開始するmvn clean install
と、Maven は JNI Java クラス ファイルをコンパイルし、対応する C++ ヘッダー/クラス ファイルを生成し、最後にアプリケーションで使用できるコンパイル済みの dll を生成します。C++ や .NET には詳しくありません。
- これは可能ですか?
- どうすればこれを達成できますか?
- Maven で C++ クラスをコンパイルするにはどうすればよいですか?
3.これまでに行ったこと:
私はEclipse、m2e、Maven、JNI、javah、およびdllをグーグルで調べました。私がこれまでに見つけたのは、javah を eclipse の外部ツールとして構成する方法の例、maven-native-plugin ですが、疑似構成と解決されなかった多くのスレッドのみです。
よろしく、 CB