Переопределение Java System Library с более новым классом на Mac - PullRequest
2 голосов
/ 15 декабря 2010

Я пытаюсь скомпилировать и запустить проект Java3D на моем Mac, но у меня возникли некоторые проблемы.Я использую Затмение.Программа зависит от старой версии Java3D, но даже после того, как я добавлю правильные Jars в Eclipse, она все равно будет искать в системном расположении по умолчанию.

При запуске моей программы в Eclipse у меня возникает такая проблема:

Исключение в потоке "AWT-EventQueue-0" java.lang.NoSuchMethodError: javax.media.j3d.BranchGroup.pickAllSorted (IILjavax / media / j3d / PickShape;) [Ljavax / media / j3d / Pickв com.sun.j3d.utils.pickfast.PickTool.pickAllSorted (PickTool.java:410)

BranchGroup.pickAllSorted не существует в Системной библиотеке JRE по умолчанию для Mac (JVM 1.6.0), но он существуетсуществуют в правильных банках JAVA3D, которые я включил.Я добавил их в свой путь сборки, и на них есть ссылки над системной библиотекой JRE в свойствах-Java Build Path-Order и Export.Кажется, это должно быть решение, но оно не работает.

Я пытался некоторое время и не могу заставить его работать.Одним из возможных вариантов, которые я имел, было попытаться поместить файлы .jars в / Library / Java / Extensions.Когда я делаю это, я вместо этого получаю ошибку OpenGL, и моя программа вообще не открывается, но я думаю, она делает что-то.

Спасибо за помощь.

Ответы [ 2 ]

3 голосов
/ 15 декабря 2010

В Eclipse перейдите к Run > Run Configurations > Your Main > Arguments > VM Arguments и добавьте -Xbootclasspath/p:newjava3d.jar.Это добавляет newjava3d.jar к вашему пути загрузки, поэтому из него будут загружены соответствующие классы.

0 голосов
/ 15 декабря 2010

При запуске программы попробуйте использовать переключатель -Xbootclasspath или -Xbootclasspath/a, чтобы добавить файлы jar в путь к классам. См. Документацию по Java-инструменту.

...