JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
2015-02-12 09:08
671 查看
学习如何使用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文件,祝您好运。相关文章推荐
- JavaHost:使用虚拟DNS省掉开发环境配置hosts文件
- javahost:使用虚拟DNS省掉开发环境配置hosts文件
- javahost:使用虚拟DNS省掉开发环境配置hosts文件
- 配置java开发环境,使用cmd编译java文件
- 搭建java开发环境+配置tomcat+使用eclipse
- 使用NotePad++ 配置 JAVA 开发环境
- maven: 开发、测试和生产环境使用不同的配置文件例子
- Flex与服务器交互之四(使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置)
- 配置java开发环境及使用记事本编写第一个最简单的java程序
- 使用Java开发OpenCV程序-1.开发环境安装与配置
- Android studio 1.2开发环境下配置AIDL,生成相应的.java文件
- 使用WinPcap和libpcap类库读写pcap文件(001)开发环境配置
- Flex与服务器交互之四(使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置)
- 在Fedora下自动配置Java开发环境的bash脚本(适用于使用bash终端的Linux)
- Java Web开发使用配置文件链接数据库
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
- [笔记]修改hosts文件和apache配置将开发环境的域名和服务器一致
- host配置:设置电脑DNS解析文件host和创建hosts更改批处理
- JavaSe 1.Java开发环境配置以及使用
- 使用websphere开发J2EE项目时,在服务器配置文件->“环境”->“类路径”中添加的ORACLE的JDBC文件classes12.zip文件是否有效呢?