java技术之RMI+odbc中环境搭建主要步骤及异常处理
2017-06-26 21:17
393 查看
这篇文章假设看官们会RMI.
首先看一下Rmi的配置环境步骤
一,.配置jdk环境
在环境变量中
用户的JAVA_HOME目录中设置jdk的根目录如:D:\java\jdk7
用户的classPath设置%JAVA_HOME%\lib\tools.jar和%JAVA_HOME%\lib\dt.jar
系统的path目录下配置%JAVA_HOME%\jre\bin
记得点确定!!!记得点确定!!!记得点确定!!!
2.设置数据源
可能出现的异常:[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
首先确定你所使用的jdk是64还是32位的,如果64位那么打开C:\Windows\System32, 32位打开C:\Windows\SysWOW64打开其中的
odbcad.exe(什么?你说我说错了吧?64对应System32,这坑爹吧!然而事实就是这样system32里面的是64位的,而SysWOW64是32位的,windows的这个大坑啊!如果你太天真,那么就会报上面的异常)
打开对应的odbcad.exe出现的页面如下:(注意页面上面所标注的64位)
点击添加
选择MicroSoft Acess Driver(*.mdb)(没有相关驱动的话去下载安装)
下载链接:
点击确定:
设置数据源名(你写的项目中应该与之对应)点击选择,
在目录中选中所选的数据库文件(*.mdb)点击确定
结果如下
3.给jre设置相关的权限(因为java的安全问题,所以java的运行环境有很多没有设置的权限)
在这种情况下我们有两个选择:给所有的java指令赋以相关权限或者给执行这个java命令的用户以相关权限。接下来分别看一下这两个方法:
//这里特别说明一下:一般我们在安装jdk的时候可能会有两个安装包分别为jre(你没特别设置的话一般在c:\program file\java下)
//和jdk(即你上面JAVA_HOME中所配置的那个目录),注意设置jdk的时候全部使用jdk的那个包的路径。
1).给你所用的jre设置相关的权限
在jdk的\jre\lib\security下找到java.policy文件,打开(注意以管理员模式打开,不然不能修改)
在grant里添加:
[b]*************[/b]对应报错:Java.security.AccessControlException: access denied (“java.lang.RuntimePermission”“accessClassInPackage.sun.jdbc.odbc”)[b]*******[/b]
permission java.lang.RuntimePermission”accessClassInPackage.sun.jdbc.odbc”;
[b]**********[/b]对应报错: java.security.AccessControlException:access denied (java.lang.RuntimePermissionfile.encoding read)
permission java.util.PropertyPermission “file.encoding”, “read”;
[b]************[/b]对应报错 : java.security.AccessControlException:access denied ( “java.net.SocketPermission”,”connect”,”liesten”)[b]************[/b]
permission java.net.SocketPermission “127.0.0.1:1099”,”accept”;
permission java.Net.SocketPermission “127.0.0.1:1099”,”listen”;
permission java.net.SocketPermission “127.0.0.1:1099”,”resolve”;
permission java.net.SocketPermission “127.0.0.1:1099”,”connect”;
其实不用accept等四个都加,报错需要哪个加哪个。。。。。。。。。。。。。。。。。。。。。。。。。。
什么!?你说太麻烦了吧,加着加那的!!行,那么看2)
2)给执行这个java命令的用户以相关权限
以管理员的形式打开cmd,输入policytool
点击添加策略条目
点击添加权限
权限里面选择AllPermission,之后一路确定到
点击文件另存为到 你所使用的用户下(也就是Desktop上层的那个目录)命名位.java.policy 注意java前面的’.’
结束。。。。。。。。。。。。。。
接下来就可以运行你的程序了
注:还可能出现的异常有:
你肯定没执行 start rmiregistry 或者说程序的Server端在rmi.Naming.bin()之前里面没有java.rmi.registry.LocateRegistry.createRegistry(1099)。两者效果一样,只做其中之一,如果两个都做会报错:
如果还有其他奇怪的错误,将jdk用1.8以下。
首先看一下Rmi的配置环境步骤
一,.配置jdk环境
在环境变量中
用户的JAVA_HOME目录中设置jdk的根目录如:D:\java\jdk7
用户的classPath设置%JAVA_HOME%\lib\tools.jar和%JAVA_HOME%\lib\dt.jar
系统的path目录下配置%JAVA_HOME%\jre\bin
记得点确定!!!记得点确定!!!记得点确定!!!
2.设置数据源
可能出现的异常:[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
首先确定你所使用的jdk是64还是32位的,如果64位那么打开C:\Windows\System32, 32位打开C:\Windows\SysWOW64打开其中的
odbcad.exe(什么?你说我说错了吧?64对应System32,这坑爹吧!然而事实就是这样system32里面的是64位的,而SysWOW64是32位的,windows的这个大坑啊!如果你太天真,那么就会报上面的异常)
打开对应的odbcad.exe出现的页面如下:(注意页面上面所标注的64位)
点击添加
选择MicroSoft Acess Driver(*.mdb)(没有相关驱动的话去下载安装)
下载链接:
点击确定:
设置数据源名(你写的项目中应该与之对应)点击选择,
在目录中选中所选的数据库文件(*.mdb)点击确定
结果如下
3.给jre设置相关的权限(因为java的安全问题,所以java的运行环境有很多没有设置的权限)
在这种情况下我们有两个选择:给所有的java指令赋以相关权限或者给执行这个java命令的用户以相关权限。接下来分别看一下这两个方法:
//这里特别说明一下:一般我们在安装jdk的时候可能会有两个安装包分别为jre(你没特别设置的话一般在c:\program file\java下)
//和jdk(即你上面JAVA_HOME中所配置的那个目录),注意设置jdk的时候全部使用jdk的那个包的路径。
1).给你所用的jre设置相关的权限
在jdk的\jre\lib\security下找到java.policy文件,打开(注意以管理员模式打开,不然不能修改)
在grant里添加:
[b]*************[/b]对应报错:Java.security.AccessControlException: access denied (“java.lang.RuntimePermission”“accessClassInPackage.sun.jdbc.odbc”)[b]*******[/b]
permission java.lang.RuntimePermission”accessClassInPackage.sun.jdbc.odbc”;
[b]**********[/b]对应报错: java.security.AccessControlException:access denied (java.lang.RuntimePermissionfile.encoding read)
permission java.util.PropertyPermission “file.encoding”, “read”;
[b]************[/b]对应报错 : java.security.AccessControlException:access denied ( “java.net.SocketPermission”,”connect”,”liesten”)[b]************[/b]
permission java.net.SocketPermission “127.0.0.1:1099”,”accept”;
permission java.Net.SocketPermission “127.0.0.1:1099”,”listen”;
permission java.net.SocketPermission “127.0.0.1:1099”,”resolve”;
permission java.net.SocketPermission “127.0.0.1:1099”,”connect”;
其实不用accept等四个都加,报错需要哪个加哪个。。。。。。。。。。。。。。。。。。。。。。。。。。
什么!?你说太麻烦了吧,加着加那的!!行,那么看2)
2)给执行这个java命令的用户以相关权限
以管理员的形式打开cmd,输入policytool
点击添加策略条目
点击添加权限
权限里面选择AllPermission,之后一路确定到
点击文件另存为到 你所使用的用户下(也就是Desktop上层的那个目录)命名位.java.policy 注意java前面的’.’
结束。。。。。。。。。。。。。。
接下来就可以运行你的程序了
注:还可能出现的异常有:
你肯定没执行 start rmiregistry 或者说程序的Server端在rmi.Naming.bin()之前里面没有java.rmi.registry.LocateRegistry.createRegistry(1099)。两者效果一样,只做其中之一,如果两个都做会报错:
如果还有其他奇怪的错误,将jdk用1.8以下。
相关文章推荐
- java环境搭建及用eclipse创建第一个程序_详细步骤
- Java基础_DOS命令、Java跨平台性、技术架构、环境搭建和运行、注释、需求分析
- Java 处理 XML 的三种主流技术及介绍——主要转自 IBMhttp://www.ibm.com/developerworks/cn/xml/dm-1208gub/
- JAVA技术开发规范(1)——开发环境搭建
- Java Web 环境搭建步骤(超详细,包括前期安装步骤)
- 2.基于IntelVt技术的Linux内核调试器- 调试器主要原理与环境搭建
- ubuntu下android开发环境搭建(及错误异常处理)
- 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境
- RocketMQ使用步骤--- 开发测试环境搭建及Java用例
- 技术文章 | 零基础搭建Hadoop大数据处理-环境
- 【安博培训技术】Java4 异常处理 20130919
- 如何搭建Selenium-Grid2环境(Java)(自动化测试技术)
- 博为峰Java技术文章 ——JavaSE Swing 事件处理的过程与步骤
- ubuntu下android开发环境搭建(及错误异常处理)
- Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7
- (JavaCard) 技术入门 2 -- 搭建JCDK开发环境-Java Card 3.0.5
- OSChina 技术周刊第二十期 —— 使用 Docker 搭建 Java Web 运行环境
- 使用Docker搭建Java环境的步骤方法
- 博为峰Java技术文章 ——JavaSE Swing 事件处理的过程与步骤