SMSLib と USB GSM モデムを使用して SMS を送信しようとしています。私はMavenプロジェクトでこれを行っており、pom.xmlに次の依存関係があります:
<dependency>
<groupId>org.smslib</groupId>
<artifactId>smslib</artifactId>
<version>dev-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.rxtx</groupId>
<artifactId>rxtx</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>com.googlecode.jsmpp</groupId>
<artifactId>jsmpp</artifactId>
<version>2.1.0</version>
</dependency>
私のJavaコードは次のとおりです。
Service.getInstance().start();
Modem gateway = new Modem("ZTE", "COM5", "19200", "0000", "0000", "9800005000");
MsIsdn msIsdn = new MsIsdn("9841252521");
gateway.setSmscNumber(msIsdn);
try {
Service.getInstance().registerGateway(gateway);
OutboundMessage outboundMsg = new OutboundMessage(msIsdn.getAddress(), "Hello there!");
Service.getInstance().send(outboundMsg);
} finally {
gateway.stop();
Service.getInstance().stop();
}
SMSlib のドキュメントには、次のようなゲートウェイを定義する必要があると記載されています
XYZ g = new XYZ("my-username", "my-password");
私の理解では、これは接続されているモデムであるべきだと思います。私はこれに非常に慣れていないので、「Modem」コンストラクターのパラメーターがどのようなものであるべきかを本当に理解できません
Modem gateway = new Modem(gatewayId, address, port, simPin, simPin2, smscNumber,memoryLocations)
また
Modem gateway = new Modem(gatewayId, parms)
パラメータのgatewayId、address、simPin、simPin2、およびmemroyLocationsを知るにはどうすればよいですか?
現在、コードを実行すると次のエラーが発生します。
exception
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
......
root cause
java.lang.NoClassDefFoundError: Could not initialize class org.smslib.Service
com.mail.utility.SendSmsUtility.sendSMS(SendSmsUtility.java:11)
com.mail.action.SendSmsAction.sendSms(SendSmsAction.java:11)
......