0
我正在研究必須在JRuby上運行的應用程序的功能。出於習慣,我在'本地'Ruby開發。當我嘗試從這個類在JRuby中的任何方法,我得到錯誤信息,如:JRuby需要.so文件上的錯誤
MissingSourceFile:沒有這樣的文件來加載 - 的SerialPort
我認爲問題出在需要「 serialport.so」。有沒有辦法在JRuby中完成這項工作?有另一種方法需要.so文件嗎?還是可以與JRuby一起使用以提供SerialPort類的gem?我嘗試安裝ruby-serialport gem,但似乎沒有正確安裝(Windows nmake問題)。
這裏是我的類文件看起來像:
require 'serialport.so'
class AlphaDisplay
#STATES
SOLID = "b"
ROTATE = "a"
BLINK = "c"
#COLORS
RED = "1"
GREEN = "2"
YELLOW = "3"
ORANGE = "7"
def self.message(address = 00, text = "ICS", color = AlphaDisplay::GREEN, state = AlphaDisplay::SOLID)
address = address.to_s
if address.length == 1
address = "0#{address}"
end
string = 1.chr + 90.chr + address + 2.chr + 65.chr + 65.chr + 27.chr + 26.chr + state + 28.chr + color + text + 4.chr
return string
end
def self.test(address = 00, text = "ICS", color = AlphaDisplay::GREEN, state = AlphaDisplay::SOLID)
sp = SerialPort.new(0, 9600, 8, 1, SerialPort::NONE)
sp.write(message(address,text,color,state))
sp.close
end
end
def SerialPort::new(port, *params)
sp = create(port)
begin
sp.set_modem_params(*params)
rescue
sp.close
raise
end
return sp
end
def SerialPort::open(port, *params)
sp = create(port)
begin
sp.set_modem_params(*params)
if (block_given?)
yield sp
sp.close
return nil
end
rescue
sp.close
raise
end
return sp
end
你不能使用本地Java方法來訪問串口? – 2010-12-17 21:33:55