Liferay访问Mail依赖资源时出现SERVER ERROR: Service Unavailable错误
我之前也碰到过类似的问题,这个报错本质是构建工具(比如Maven/Gradle)在拉取javax.mail的1.4版本javadoc包时,没法连接到Liferay的官方仓库。下面给你几个靠谱的解决思路:
检查仓库连接和网络
先确认你的服务器/开发机器能正常访问Liferay的Nexus仓库。可以尝试用curl https://repository.liferay.com/nexus/content/groups/public/javax/mail/mail/1.4/mail-1.4-javadoc.jar命令测试连通性。如果网络受限,可能需要配置代理,或者切换到国内稳定的镜像仓库来获取依赖包。跳过javadoc拉取(临时应急)
如果只是需要先完成构建,不想纠结javadoc的问题,可以直接在构建命令里跳过文档拉取:- Maven:执行
mvn clean install -Dmaven.javadoc.skip=true - Gradle:执行
gradle build -x javadoc
这个方法能快速绕开当前报错,但只是临时方案,后续还是建议解决仓库访问的根本问题。
- Maven:执行
更换依赖版本或仓库源
- 考虑升级javax.mail的版本,比如用1.4.7版本,这个版本的包在多数公共仓库都能稳定获取,修改你的构建配置文件即可:
Maven示例(pom.xml):<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> - 替换仓库源,在构建配置里添加Maven Central这类更稳定的公共仓库,确保Liferay仓库不是唯一的依赖来源。比如在Maven的settings.xml中添加:
<repository> <id>central</id> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> </repository>
- 考虑升级javax.mail的版本,比如用1.4.7版本,这个版本的包在多数公共仓库都能稳定获取,修改你的构建配置文件即可:
检查Liferay仓库状态
有时候可能是Liferay的Nexus仓库临时维护或故障,可以过1-2小时再尝试拉取,或者通过官方渠道确认服务是否正常。
内容的提问来源于stack exchange,提问作者Nitesh Rai
相关产品推荐
相关产品推荐

