MacOS 11.5.1系统下vecmath.jar存放位置及javax.vecmath配置问题
问题原因说明
- Java 9及以上版本已完全废弃扩展机制,你往JDK目录下创建
lib/ext存放第三方Jar的操作会直接触发JVM启动报错,这是你第一个错误的根因。 - 后续你把Java3D相关Jar直接放到JDK自身的
lib目录也是错误操作:该目录仅用于存放JDK核心类库,不会自动加载第三方依赖,因此会重新出现包找不到的报错。 - 所有修改JDK安装目录内文件的操作都不推荐,极易导致JDK本身运行异常。
正确配置方案
方案1:手动编译运行(无构建工具)
- 将下载好的
j3dcore.jar、j3dutils.jar、vecmath.jar三个文件存放到你自己项目根目录下新建的lib文件夹内,不要修改JDK的任何目录 - 编译时指定classpath参数引入依赖,示例命令:
javac -cp "lib/*" 你的源文件名.java - 运行时同样需要指定classpath,示例命令:
- macOS/Linux:
java -cp "lib/*:." 主类名 - Windows:
java -cp "lib/*;." 主类名
- macOS/Linux:
方案2:使用Maven管理依赖(推荐)
不需要手动下载Jar包,直接在项目的pom.xml中添加如下依赖即可:
<dependency> <groupId>javax.vecmath</groupId> <artifactId>vecmath</artifactId> <version>1.5.2</version> </dependency>
同步依赖后即可正常导入使用javax.vecmath下的所有类。
方案3:使用Gradle管理依赖
在项目build.gradle的dependencies代码块中添加如下配置即可:
implementation 'javax.vecmath:vecmath:1.5.2'
内容的提问来源于stack exchange,提问作者grepgrok
相关产品推荐
相关产品推荐

