嘗試使用1.5.2 jar文件(例如,在Java.net http://java3d.java.net/binary-builds.html上找到)針對javax.vecmath構建。在Windows,Linux但不是OS下可見的訪問方法X
試着打個電話,說Point3d;
public class Foo {
public static void main(String[] args) {
Point3d t = new Point3d(1.0, 1.0, 1.0);
System.out.println(t.getX());
}
}
在64位Windows和Linux(我只試過Ubuntu 10.04,64位),這個編譯和運行。
在OS X(10.6.7),它不會編譯:
...: cannot find symbol
symbol : method getX()
location: class javax.vecmath.Point3d
System.out.println (t.getX());
這是通過使用完全相同的物理vecmath.jar
如果代替我直接使用源,它編譯OS上X,但不運行
Exception in thread "main" java.lang.NoSuchMethodError: javax.vecmath.Point3d.getX()D
如果我編譯在OS X的來源自己一個jar文件,然後使用jar在上面的例子中,再次,無法編譯。
現在,訪問的字段位於javax.vecmath.Tuple3d中,這是一個具有x,y和z公共字段的抽象類。所以在OS X上這將起作用(實際上,它似乎無處不在)。
public class Foo {
public static void main(String[] args) {
Point3d t = new Point3d(1.0, 1.0, 1.0);
System.out.println(t.x);
}
}
的事情是,我的工作依賴於vecmath.jar,並在其中維護是在Windows,並希望使用存取方法,以保持一個代碼庫,但我在OS X 。
我在尋找既:
(1)明白是怎麼回事 (2)計算出如何使這些資源便攜的同時,取決於vecmath.jar文件。
這是它完全是。我已經搜查等地流浪vecmath.jar文件,但沒有一個謝謝。 – npskirk 2011-05-29 17:14:29
同樣的問題在這裏,我必須替換'System/Library/Java/Extensions'中的'vecmath.jar'來使它工作。 – 2012-05-14 09:36:15