下载 Nacos 源码
- 只需保留 nacos console 模块,其他模块均可删除
2. console 源码结构说明
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── alibaba
│ │ └── nacos
│ │ ├── Nacos.java # main 启动类
│ │ └── console # 控制台相关源码
│ └── resources
│ ├── application.properties # nacos 配置文件
│ └── static # 静态页面目录
└── test # 单元测试部分
3. 修改 Nacos.java 类
3.1添加类配置类:ConfigConstants
/**
* @author lengleng
* @date 2019-10-31
* <p>
* 覆盖nacos 默认配置
*/
public interface ConfigConstants {
/**
* The System property name of Standalone mode
*/
String STANDALONE_MODE = "nacos.standalone";
/**
* 是否开启认证
*/
String AUTH_ENABLED = "nacos.core.auth.enabled";
/**
* 日志目录
*/
String LOG_BASEDIR = "server.tomcat.basedir";
}
- 3.2 主要在 main 方法中增加 两个参数,是否是单机启动 & 是否关闭权限校验
@SpringBootApplication(scanBasePackages = "com.alibaba.nacos")
@ServletComponentScan
@EnableScheduling
public class Nacos {
public static void main(String[] args) {
# 通过环境变量的形式 设置 单机启动
System.setProperty(ConfigConstants.STANDALONE_MODE, "true");
# 通过环境变量的形式 设置 关闭权限校验
System.setProperty(ConfigConstants.AUTH_ENABLED, "false");
SpringApplication.run(Nacos.class, args);
}
}
4. 修改 console/pom.xml
- 由于不在使用 nacos bom 管理,需要给所有依赖坐标增加版本号
- 由于 nacos-config /nacos-naming 等包没有上传至中央参考 无法下载到,groupId 变更为
com.pig4cloud.nacos
即可下载
- 变更后参考如下
<properties>
<nacos.version>2.0.1.RELEASE</nacos.version>
<spring-boot.version>2.5.0</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>com.pig4cloud.nacos</groupId>
<artifactId>nacos-config</artifactId>
<version>${nacos.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>com.pig4cloud.nacos</groupId>
<artifactId>nacos-naming</artifactId>
<version>${nacos.version}</version>
</dependency>
<dependency>
<groupId>com.pig4cloud.nacos</groupId>
<artifactId>nacos-istio</artifactId>
<version>${nacos.version}</version>
</dependency>
</dependencies>
总结
- 以上修改后源码参考: https://gitee.com/log4j/pig
- 是否以源码形式运行,此问题仁者见仁智者见智 根据你们实际情况来