我创建了一个小程序以使用jna 库进行打印。当我运行它时,我收到异常 java.lang.reflect.InvocationTargetException。当我查看 Java 控制台时,不会出现异常。
Java Plug-in 10.4.1.255
Using JRE version 1.7.0_04-b22 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Administrator
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
我的源代码:
import com.sun.jna.Native;
import java.applet.Applet;
class Impressora extends Applet {
@Override
public void init() {
try {
Mp2032 lib = (Mp2032) Native.loadLibrary("mp2032", Mp2032.class);
System.out.println(lib.IniciaPorta("COM3"));
System.out.println(lib.ConfiguraModeloImpressora(5));
System.out.println(lib.BematechTX("teste\n"));
System.out.println(lib.BematechTX("teste\n"));
System.out.println(lib.AcionaGuilhotina(1));
System.out.println(lib.FechaPorta());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import com.sun.jna.Library;
import com.sun.jna.win32.StdCallLibrary;
public interface Mp2032 extends StdCallLibrary {
public int AcionaGuilhotina(int modo);
public int AjustaLarguraPapel(int largura);
public int AutenticaDoc(String texto, int tempo);
public int BematechTX(String texto);
public int CaracterGrafico(String texto, int lenght);
public int ComandoTX(String comando, int length);
public int ConfiguraCodigoBarras(int altura, int largura, int posicao, int fonte, int margem);
public int ConfiguraModeloImpressora(int modelo);
public int IniciaPorta(String porta);
public int FechaPorta();
public int FormataTX(String texto, int tipoLetra, int italico, int sublinahdo, int expandido, int enfatizado);
}
我的 index.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
<applet width=300 height=300 code="Impressora" ARCHIVE="ImpressoraAssinada.jar"></applet>
</div>
</body>
</html>
我的密钥生成:
cd C:\path\to\dir\Impressora
keytool -genkey -dname "cn=Impressora, ou=XX, o=XXX, l=city, s=RS c=BR" -alias ImpressoraKey -keystore C:\ImpressoraKey -storepass passwd -validity 7300
jarsigner -keystore C:\ImpressoraKey -storepass passwd -signedjar ImpressoraAssinada.jar Impressora.jar ImpressoraKey
keytool -export -keystore C:\ImpressoraKey -storepass passwd -alias ImpressoraKey -file Impressora.x509