javahost:使用虚拟DNS省掉开发环境配置hosts文件

javahost:使用虚拟DNS省掉开发环境配置hosts文件

学习如何使用java修改DNS解析记录,采用Properties文件替代hosts文件。

在不同运行环境访问不同将数据源服务器,为了方便切换是否使用域名替代IP?
如果使用域名的话,在开发环境就需要配置hosts文件

团队其他成员checkout代码是否需要文档告诉他怎么配置hosts文件?

您负责的项目很多怎么办?为了方便修改hots文件您是否会借助Win Hosts Manager之类的软件?

讨厌写文档吗?想团队其他成员checkout代码不用修改hosts文件即可直接运行程序吗?

javahost(JVM虚拟DNS)帮组您解决这些烦恼,下面带大家来了解一下如何使用javahost省掉hosts文件配置.

1、配置maven依赖

在pom.xml加入

<dependencies>
    [...]
    <dependency>
        <groupId>io.leopard</groupId>
        <artifactId>javahost</artifactId>
        <version>0.0.5-SNAPSHOT</version>
    </dependency>
    [...]
</dependencies>
<repositories>
    <repository>
        <id>leopard-snapshots</id>
        <name>Leopard Snapshots</name>
        <url>http://leopard.io/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>

如果您是非maven用户,可以通过以下链接下载jar包.
io.leopard:javahost:0.0.5-SNAPSHOT

2、编写vdns.properties

src/main/resources/vdns.properties

#MySQL user database
user.mysql.guides.leopard.io=127.0.0.1

#Redis user database
user.redis.guides.leopard.io=127.0.0.2

#Redis session database
session.redis.guides.leopard.io=127.0.0.3

你可以将这些域名解析配置和其他占位符放在同一个文件,value为合法的IP才会设置虚拟DNS 不过我们推荐独立一个文件配置,这样会更加清晰些

3、设置虚拟DNS

src/test/java/io/leopard/guides/JettyTest.java

package io.leopard.guides;

import io.leopard.javahost.JavaHost;
import io.leopard.jetty.JettyServer;

import java.io.IOException;
import java.net.InetAddress;
import java.util.Properties;

import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;

public class JettyTest {

	private static void loadDns() throws IOException {
		Resource resource = new ClassPathResource("/vdns.properties");
		Properties props = PropertiesLoaderUtils.loadProperties(resource);
		JavaHost.updateVirtualDns(props);
	}

	public static void main(String[] args) throws Exception {
		loadDns();
		JavaHost.printAllVirtualDns();// 打印所有虚拟DNS记录
		System.out.println("IP:" + InetAddress.getByName("user.mysql.guides.leopard.io").getHostAddress());// 验证一下解析是否正确
		JettyServer.start();// 启动Jetty服务器
	}
}

单元测试代码使用虚拟DNS,参考JettyTest即可

4、输出日志

JavaHost [host=user.redis.guides.leopard.io, ip=127.0.0.2]
JavaHost [host=user.mysql.guides.leopard.io, ip=127.0.0.1]
JavaHost [host=session.redis.guides.leopard.io, ip=127.0.0.3]
IP:127.0.0.1

至此,您团队其他成员checkout代码后,已经可以不用修改hosts文件就能运行程序了。

了解Leopard更多功能模块,请访问http://leopard.io/

总结

恭喜你!您已经可以学会使用JavaHost配置虚拟DNS,不用再修改烦人的hosts文件,祝您好运。

时间: 2024-12-11 07:55:17

javahost:使用虚拟DNS省掉开发环境配置hosts文件的相关文章

Java web 开发环境配置。

一.配置 win8 64位 环境java 开发环境 1.  下载JDK,地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择下载 按照提示安装.安装过程过程中会有两个安装路径的设置,可默认也可自定义.这连个路径分别是指安装JDK和JRE的路径. 这选择路径是:D:\Program Files\Java\jdk1.7.0_60 和D:\Program Files\Java\jre7  注意这里的路径是为的是

Android开发环境配置(以windows为例)

Android开发环境配置工具  如果你准备从事Android开发,那么无论选择在eclipse下开发,还是选择在AndroidStudio下开发,都可以参照以下步骤进行Android开发环境的配置. Android开发环境配置过程 1.准备笔记本或台式机 使用笔记本还是台式机,视个人需求而定,但我要强调的是在配置上不要手软,要舍得下手.一台流畅的电脑,会让你在枯燥的编程中不至于抓狂. 官方推荐的AndroidStudio或eclipse运行环境对电脑配置要求很低,现在市面上的电脑基本都可以达到

Mac系统cocos2dx + android 开发环境配置

Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:http://www.cnblogs.com/wt616/p/3758828.html(这位大哥真的很牛,谢谢!) 然后,文章中又加入了一些自己的理解以及在实际操作过程中遇到问题的解决办法.而这些办法也是来自于伟大 的网友,但由于搜索的比较多,很多出处地址都没有记录好,抱歉,若你们看到,告诉我,我再加上地

winphone开发环境配置

环境:操作系统win7 要进行winphone开发,必须进行一些环境的配置,以下是我的一些配置总结. 1.操作系统 winphone开发只能在win8下开发,所以首先得安装win8,可以使用nt6 hdd installer进行硬盘安装,不需要设置即可实现双系统.注意点是把win8镜像文件解压到根目录下. 2.vs2013 安装vs2013和升级补丁包,安装时需要把winphone sdk勾上 3.新建winphone工程 新建->vc++->win phone->windows pho

Windows下Android开发环境配置

最近在配置安卓. 还是拿舍友没带回家的手机.. 自己手机是WP.. 搞了半天搞好了. 叹了口气,要是有人这样教我就好了,少走好多弯路. 废话不说,步骤如下" 一.安装JDK 为啥要安装JDK就不说了吧?java写安卓.. 传送门: http://www.oracle.com/technetwork/java/javase/downloads/index.html 安装完后,配置环境变量: 右击 "我的电脑"->属性->高级->环境变量->系统变量-&g

Android SDK 4.0.3 开发环境配置及运行

近来又装了一次最新版号码归属地查询另外ADK环境 其时最新版是Android SDK 4.0.3这篇文章的插图和关键词挖掘工具文本虽然是Android2.2的 进程都是一样的,假设姓名测试设备的进程中遇到什么问题,可以留言,我会赶快回复! 系统环境的需要可以参看http://www.fanselang.com /sdk/requirements.html一,下载所软件包  (1)JDK 需要JDK1.6+,建议JDK7.X下载网址http://www.3h5.cn /javase/downloa

xshell远程终端操作Ubuntu server安装LAMP环境之最详细笔记之二PHP开发环境配置

前言: 昨天学会了安装server,今天试着通过远程终端xshell来安装LAMP,搭配一下开发环境,也有集成环境可以一键安装使用,还是瞎折腾一下,手动一步一步搭建一下这个开发环境. 接上一篇:ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com) 准备: 在windows系统上首先需要安装xhsell,具体下载地址可以搜一下,安

(转)VC6.0中OpenGL开发环境配置

首先简单介绍一下OpenGL: OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性.       OpenGL官方网站(英文)    http://www.opengl.org 然后设置编程的一些环境,及其安装必备文件的步骤如下: 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的.但这里我们选择VC++ 6.0作为学习OpenGL的环

Go语言Eclipse开发环境配置-windows

1.首先安装eclipse,选择一个适合的版本就好,解压即可 http://www.eclipse.org/downloads/ 2.下载go语言安装包 官网地址 :http://www.golang.org/ 官网地址有时候打不开,百度云盘下载go1.2安装包  http://pan.baidu.com/s/1c0Gf4UO#dir/path=%2FSoft%2FGoLang  32 64位都有 一路Next cmd输入go version 看到这个就安装好了,环境变量什么的会自动配置好的,唯