You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Red Hat服务器部署Nexus 3.0.2-02启动报错:NoSuchFieldError: CN

解决Red Hat服务器上Nexus 3.0.2-02启动时的NoSuchFieldError: CN错误

这个问题我之前帮同行排查过,核心是Nexus自动生成节点SSL证书时,找不到JDK类库中的X500Principal.CN常量字段,导致依赖注入环节直接失败,服务启动卡壳。下面给你几个按优先级排序的解决步骤,挨个试就行:

一、先确认JDK版本兼容性

Nexus 3.0.2-02对Java版本要求很严格,早期版本对Oracle JDK 8的兼容性远优于OpenJDK:

  • 先检查当前系统在用的JDK版本:
    java -version
    
  • 如果是Red Hat OpenJDK 8或者Oracle JDK 8版本低于1.8.0_101,建议切换到Oracle JDK 8的稳定版本(比如1.8.0_202),配置好JAVA_HOME和PATH环境变量后再重启Nexus。

二、手动生成SSL证书替换自动生成的证书

如果JDK版本没问题,大概率是Nexus自动生成证书的逻辑出了故障,咱们手动生成一套靠谱的证书:

  1. 先停掉Nexus服务:
    # 进入Nexus安装目录的bin文件夹
    cd /path/to/nexus-3.0.2-02/bin
    ./nexus stop
    
  2. 找到Nexus的数据目录(默认是安装目录同级的sonatype-work/nexus3),进入etc/ssl文件夹,删除现有无效证书:
    cd /path/to/sonatype-work/nexus3/etc/ssl
    rm keystore.jks truststore.jks
    
  3. 用keytool生成自签名证书(密码可以自定义,记好后面要用到):
    keytool -genkeypair -alias nexus -keyalg RSA -keysize 2048 -validity 3650 \
    -keystore keystore.jks -storepass your-custom-password -keypass your-custom-password \
    -dname "CN=localhost, OU=Nexus, O=Sonatype, L=Unknown, ST=Unknown, C=US"
    
  4. 将生成的keystore导入到truststore,确保Nexus能信任自己的证书:
    keytool -importkeystore -srckeystore keystore.jks -destkeystore truststore.jks \
    -srcalias nexus -destalias nexus -srcstorepass your-custom-password \
    -deststorepass your-custom-password -destkeypass your-custom-password
    
  5. 修改Nexus的配置文件sonatype-work/nexus3/etc/nexus-default.properties,让配置和你设置的密码匹配:
    nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-https.xml
    nexus-https-port=8443
    nexus-keystore=${karaf.data}/etc/ssl/keystore.jks
    nexus-keystore-password=your-custom-password
    nexus-keystore-key-password=your-custom-password
    nexus-truststore=${karaf.data}/etc/ssl/truststore.jks
    nexus-truststore-password=your-custom-password
    
  6. 重启Nexus服务:
    cd /path/to/nexus-3.0.2-02/bin
    ./nexus start
    

三、终极方案:升级Nexus版本

3.0.2-02是Nexus 3系列的早期测试版本,存在大量已知bug,包括SSL证书生成的兼容性问题。如果上面的方法都无效,建议直接升级到3.x系列的稳定版本(比如3.60.x),新版本不仅修复了这类底层问题,还提升了服务性能和安全性。

内容的提问来源于stack exchange,提问作者Shalika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:10:41