这是一个JDK没有配置好的问题。解决办法如下: 运行CMD。 在里面输入java -version看有没有版本的提示?有的话说明你的JDK是对的,那么就是Eclipse的问题了。没有参考其他方法。 1)如果没有的话: 依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。 在“系统变量”栏下执行三项操作: ①新建“Java_Home”,值:JDK所在的绝对路径(例如 D:\Program Files\Java\jdk1.5.0_04\)。 ②新建“Classpath”(如果已有,则直接编辑),值: .;%Java_Home%\lib (若值中原来有内容,用分号与之隔开)。 ③新建“Path”(如果已有,则直接编辑),值: %Java_Home%\bin; (若值中原来有内容,用分号与之隔开)。 或者 CLASSPATH C:\Program Files\Java\jdk1.6.0_03\lib;E:\workbench\lib\javax.servlet.jar; JAVA_HOME C:\Program Files\Java\jdk1.6.0_03 Path %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;%JAVA_HOME%\bin;
分类目录归档:Java
Java开发和部署WebService客户端
近日需要通过一台服务器定时调用另外一台服务器的一个WebService,那个WebService是用PHP写的,难度很小。
可是在Linux服务器下部署相关的WebService客户端对我来说就是新东西了。
最近在搞Java项目,所以首先想到用Java来做,步骤很简单:
在Eclipse中New一个Web Service Client,给它一个wsdl地址即可生成相关的代理类;接下来只需要编写一个具有Main函数的类就可以了:
String endpoint = “Web Service地址”; //不能包含?wsdl
YourWebServiceNameProxy wsp = new YourWebServiceNameProxy (endpoint);
try {
String resultStr = wsp.MyMethod(“arg0″,”arg1”);
System.out.println(resultStr);
} catch (RemoteException e) { System.out.println(“RemoteException异常”); e.printStackTrace(); }
catch (Exception e) { System.out.println(“异常”); e.printStackTrace(); }
测试通过之后,需要Export为一个可执行的Jar包,然后上传到Linux服务器,通过命令行进行测试:
java -jar ./myjar.jar “参数”
可能会报一个错误:Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled
需要两个jar包:mail.jar,activation.jar,本机找不到就从网上下载吧。不过这种执行jar包的方式在命令行加载第三方包比较困难,最好把第三方包拷贝到JAVA_HOME/jre/lib/ext下,java会自动搜索这个路径;
测试通过之后,用crontab来进行调度。