我有一个问题,我不明白为什么日食使这个。我有一个叫做Cliente
的java类中的方法。一切顺利,但是当我导出jar时,我看到了一个反编译器的代码,我不明白为什么这种方法不好。一些代码从我的方法:错误导出java项目到jar中
public RespuestaEnvio enviar(Envio mensaje){
log.info(modulo, "Preparando el envío del mensaje: "+mensaje.getMensaje());
String mensajeError = "";
boolean descartar = false;
BeanCambioSituacion beanCambioSituacion = new BeanCambioSituacion(mensaje);
// Se validan campos obligatorios
if(isVacia(beanCambioSituacion.getCodigoPedido())){
log.error(modulo, "Código de pedido sin valor.");
descartar = true;
}
if(isVacia(beanCambioSituacion.getNumeroEnvio())){
log.error(modulo, "Número de envío sin valor.");
descartar = true;
}
This method with a decompiler seeing the code:
/* Error */
public gestionEventos.RespuestaEnvio enviar(gestionEventos.Envio mensaje)
{
// Byte code:
// 0: aload_0
// 1: getfield 49 es/chx/ws/eci/cambiaEstado/Cliente:log Les/chx/ws/eci/domain/LogUtil;
// 4: aload_0
// 5: getfield 41 es/chx/ws/eci/cambiaEstado/Cliente:modulo Ljava/lang/String;
// 8: new 116 java/lang/StringBuilder
// 11: dup
// 12: ldc -15
// 14: invokespecial 120 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
// 17: aload_1
// 18: invokevirtual 243 gestionEventos/Envio:getMensaje()Ljava/lang/String;
// 21: invokevirtual 121 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 24: invokevirtual 131 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 27: invokevirtual 134 es/chx/ws/eci/domain/LogUtil:info (Ljava/lang/String;Ljava/lang/String;)V
// 30: ldc -114
// 32: astore_2
// 33: iconst_0
// 34: istore_3
// 35: new 248 es/chx/ws/eci/bean/BeanCambioSituacion
// 38: dup
// 39: aload_1
// 40: invokespecial 250 es/chx/ws/eci/bean/BeanCambioSituacion:<init> (LgestionEventos/Envio;)V
// 43: astore 4
// 45: aload_0
// 46: aload 4
// 48: invokevirtual 253 es/chx/ws/eci/bean/BeanCambioSituacion:getCodigoPedido ()Ljava/lang/String;
// 51: invokevirtual 256 es/chx/ws/eci/cambiaEstado/Cliente:isVacia (Ljava/lang/String;)Z
// 54: ifeq +19 -> 73
// 57: aload_0.
任何人都可以给一些信息,我不明白为什么会发生这种情况。代码完全不同。这是我的问题。为什么当我导出java项目时,代码在方法内部是不同的?
欢迎来到Stack Overflow!我编辑了你的问题,正确地缩进你的输出4个空格,以便正确呈现 - 请参阅编辑帮助以获取更多格式化信息。我还修复了一些小的语法错误。祝你好运! – Wtower