java.io.IOException: couldn't initialize IOPort: 参数错误.

本文介绍如何在MyEclipse中配置WebLogic服务器,并详细说明了正确的JDK选择及必要的配置步骤,确保应用程序能够正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

解决这个问题就是WebLogic的JDK选错了。一定要记住选安装在WebLogic的安装目录里面的JDK。不然就会出错了,

直接配置MyEclipse的WebLogic服务器 
MyEclipse默认的应用服务器为JBoss3,这里我们使用WebLogic 10。启动Eclipse,选择“窗口\\首选项”菜单,打开首选项对话框。展开MyEclipse下的Application Servers结点,点击JBoss 3,选中右面的Disable单选按钮,停用JBoss 3。然后点击WebLogic 10,选中右边的Enable单选按钮,启用WebLogic服务器。同时下面的配置如下: 
(1)BEA home directory:D:\Program Files\Oracle WebLogic

(2)WebLogic installation directory:D:\Program Files\Oracle WebLogic\wlserver_10.3

(3)Admin username:admin 
(4)Admin password:12345678 
(5)Execution domain name:D:\Program Files\Oracle WebLogic\user_projects\domains\base_domain

(6)Execution server name:myserver 
(7)Security policy file:E:\\bea\\weblogic81\\server\\lib\\weblogic.policy 
(8)JAAS login configuration file:省略。 

接着展开WebLogic 10结点,点击JDK,在右边的WLS JDK name处选择WebLogic 10的默认JDK。这里组合框中缺省为j2re1.4.2_03,即之前单独安装的jre。单击Add按钮,弹出WebLogic > Add JVM对话框,在JRE名称处随便输入一个名字,如jre1.4.1_02。然后在JRE主目录处选择WebLogic安装文件夹中的JDK文件夹,如E:\\BEA\\jdk141_02,程序会自动填充Javadoc URL文本框和JRE系统库列表框。单击确定按钮关闭对话框。这时候就可以在WLS JDK name组合框中选择jre1.4.1_02了。之后还要在下面的Optional Java VM arguments,如-ms64m -mx64m -Djava.library.path=\"E:/BEA/weblogic10/server/bin\" -Dweblogic.management.discover=false -Dweblogic.ProductionModeEnabled=false  

注:\"-ms64m -mx64m -Djava.library.path=\"E:/BEA/weblogic81/server/bin\" -Dweblogic.management.discover=false -Dweblogic.ProductionModeEnabled=false \"需要根据您跑的应用来决定参数,例如MAXIMO就需要将-ms64m -mx64m 改为-ms512m -mx1024m 

最后点击Paths,在右边的Prepend to classpath列表框中,通过Add JAR/ZIP按钮,加入D:\\BEA\\weblogic10\\server\\lib\\weblogic.jar、D:\\BEA\\weblogic10\\server\\lib\\webservices.jar。

 

 

 

 

 

 

 

 

 

 

 


 

 

好的,以下是一个简单的Java短信猫接口的示例代码: ```java import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import gnu.io.CommPortIdentifier; import gnu.io.NoSuchPortException; import gnu.io.PortInUseException; import gnu.io.SerialPort; import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventListener; public class SMSInterface implements SerialPortEventListener { private static final int TIME_OUT = 2000; private static final int DATA_RATE = 9600; private SerialPort serialPort; private InputStream input; private OutputStream output; private List<String> messages; public List<String> getMessages() { return messages; } public void initialize(String portName) { CommPortIdentifier portId = null; Enumeration<?> portEnum = CommPortIdentifier.getPortIdentifiers(); while (portEnum.hasMoreElements()) { CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement(); if (currPortId.getName().equals(portName)) { portId = currPortId; break; } } if (portId == null) { System.out.println("Could not find COM port."); return; } try { serialPort = (SerialPort) portId.open(this.getClass().getName(), TIME_OUT); serialPort.setSerialPortParams(DATA_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); input = serialPort.getInputStream(); output = serialPort.getOutputStream(); serialPort.addEventListener(this); serialPort.notifyOnDataAvailable(true); messages = new ArrayList<String>(); } catch (PortInUseException | IOException | gnu.io.UnsupportedCommOperationException e) { System.err.println(e.toString()); } } public void send(String phoneNumber, String message) { try { output.write(("AT+CMGF=1" + "\r\n").getBytes()); Thread.sleep(1000); output.write(("AT+CMGS=\"" + phoneNumber + "\"\r\n").getBytes()); Thread.sleep(1000); output.write((message + "\r\n").getBytes()); Thread.sleep(1000); output.write((char) 26); } catch (IOException | InterruptedException e) { System.err.println(e.toString()); } } @Override public synchronized void serialEvent(SerialPortEvent oEvent) { if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) { try { int available = input.available(); byte[] chunk = new byte[available]; input.read(chunk, 0, available); String message = new String(chunk); messages.add(message); } catch (IOException e) { System.err.println(e.toString()); } } } public void close() { if (serialPort != null) { serialPort.removeEventListener(); serialPort.close(); } } } ``` 这个示例代码使用了RXTXcomm库,你需要将它导入到你的Java项目中。这个示例代码连接到指定的串口,然后提供了发送短信的方法,可以向指定的手机号发送短信。它还实现了SerialPortEventListener接口,可以接收来自串口的数据,并将它们存储在消息列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值