のPhidgetプロジェクトにクラスのフィールドを取得できませんでした重大なエラー - (phidgets.com)と私はのJava:私はのPhidget加速度計を使用してJavaプロジェクトをやってる
sudo java -jar phidgetTester.jar
/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/java/packages/lib/i386:/usr/lib/jni:/lib:/usr/lib
making new phidget
CRIT: Couldn't get Field ID managerPhidget from phidget_class
Exception in thread "main" java.lang.NoSuchFieldError: managerPhidget
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1675)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
at com.phidgets.Phidget.<clinit>(Phidget.java:26)
at phidgettester.PhidgetTester.<init>(PhidgetTester.java:40)
at phidgettester.main.main(main.java:15)
が、私はこのエラーを取得するエラーを取得しますあるコンピュータで私のプログラム(sudo java -jar phidgetTester.jar)を実行するが、別のコンピュータでは実行しない。つまり、私の開発システムでは、プログラムを構築して実行できますが、実際に使用したいシステムでは、上記のエラーが発生します。 問題を引き起こしている可能性のある提案これは単なるクラスパス問題(これは私には驚くかもしれません)ですか、それとももっと不吉なことですか?
プログラムをインストールするには、netbeansによって生成された「dist」フォルダにコピーします。これには自分のプログラム用の.jarが含まれています。/ libフォルダには、phidgetを使用するために必要なphidget21.jarファイルドライバを開発マシンにインストールします。
私は、phidgetsからデータを読み取ることができるpythonテストスクリプトを実行しているので、ネイティブライブラリは問題なく、問題は純粋にjavaベースですが、私はそのような小さな単純なプログラム私は外部環境に非常に偶然のエラーがある可能性があります。
はここに私のメインの方法です(ちょうどそれをチェックアウトするライブラリパスの事で投げたが、彼らは両方のマシンに同じ基本的に見える):
package phidgetTester;
public class main {
public static void main(String[] args) throws Exception {
System.out.println(System.getProperty("java.library.path"));
PhidgetTester tester = new PhidgetTester();
while(true) {
SensorData acceleration = tester.getAccelerationData();
System.out.println(acceleration);
}
}
}
そして、いくつかのコメントと私のメインクラスのトップ(物事は削除:あなたの助けを事前に
package phidgetTester;
import com.phidgets.PhidgetException;
import com.phidgets.SpatialEventData;
import com.phidgets.SpatialPhidget;
import com.phidgets.event.*
public class PhidgetTester {
public boolean phidgetfunctional = false;
private final SpatialPhidget sp;
private volatile SensorData compassData;
private volatile SensorData accelerationData;
private volatile SensorData angularData;
public PhidgetTester() throws PhidgetException {
System.out.println("making new phidget");
sp = new SpatialPhidget(); // This is the line it fails on.
double[] zerodata = {0,0,0};
this.compassData = new SensorData(zerodata);
感謝を
あなたが投稿したコードには、どちらもエラーで参照されているmanagerPhidgetもfidget_classも表示されないので、あなたが望むヘルプが表示されない場合があります... –
はい...私はそれらがphidgetのどこかに埋め込まれていると仮定しますライブラリは、しかし、いくつかのコードが正常に実行されて以来、私は本当にエラーの意味whtaの情報を探していますか、または他の人が同様のタイプの問題を抱えていて、問題が何であるかを環境的に知っているかもしれない –