Cargo-tracker项目依赖与插件解析失败及编译报错求助
解决Cargo-tracker项目的依赖解析与编译错误问题
咱们一步步来搞定你遇到的这两个问题:依赖/插件无法解析,以及org.eclipse.persistence.annotations包不存在的编译错误。
一、先解决依赖与插件无法解析的问题
1. 修复PrimeFaces仓库地址
你pom.xml里配置的PrimeFaces仓库是HTTP协议,现在很多Maven仓库已经不再支持HTTP访问,容易导致依赖拉取失败。把仓库地址改成HTTPS:
<repositories> <repository> <id>primefaces</id> <url>https://repository.primefaces.org</url> <!-- 将http替换为https --> </repository> </repositories>
2. 强制更新Maven依赖并清理缓存
在IntelliJ的Terminal里运行以下命令,强制刷新依赖并清理本地缓存:
mvn clean install -U
也可以手动点击IntelliJ右侧Maven面板里的「Reload All Maven Projects」按钮,触发依赖重新拉取。
3. 检查IntelliJ的Maven配置
确保IntelliJ使用的是正确的Maven设置:
- 打开
File > Settings > Build, Execution, Deployment > Build Tools > Maven - 确认「Maven home directory」指向你本地安装的Maven路径,「User settings file」关联正确的
settings.xml(如果配置了国内镜像,能大幅提升依赖拉取速度)
二、解决org.eclipse.persistence.annotations不存在的编译错误
这个包是EclipseLink的扩展注解,不属于标准Java EE API范畴,所以需要在pom.xml中显式添加EclipseLink依赖。由于GlassFish 4.1.1本身自带EclipseLink 2.6.4版本,我们使用provided scope避免版本冲突:
在pom.xml的<dependencies>节点中添加:
<dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> <version>2.6.4</version> <!-- 与GlassFish 4.1.1兼容的版本 --> <scope>provided</scope> </dependency>
添加完成后,重新运行mvn clean compile,编译错误应该就能解决了。
三、额外检查项
- JDK版本一致性:确保IntelliJ中项目的SDK配置为Java 7(pom.xml里指定了
source和target都是1.7),同时GlassFish服务器配置的JDK也是Java 7。 - GlassFish服务器配置:确认IntelliJ中GlassFish服务器的安装路径正确,服务器已启动成功,部署时选择Maven构建生成的
cargo-tracker.war文件。
按照以上步骤操作后,项目的构建和依赖问题应该就能全部解决啦。
内容的提问来源于stack exchange,提问作者Harisudha




