`
snoopy7713
  • 浏览: 1152622 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Java代码提示参数名称无意义(如,arg0)的原因及解决方案

    博客分类:
  • java
阅读更多

【现象描述】
Java 源码在用Ant脚本打成jar
之后,再被调用 ,Eclipse代码提示中方法的参数 名称是无意义的( arg0 arg1 ),开发人员看不出每个参数的业务意义是什么,很不方便
(如下图)
而以源码方式调用的提示结果是有业务意义的(
queryHQL page
(如下图)

而我们也见过一些 Jar 包在调用时是可以提示有意义的参数名称的。

【原因分析】
Sun和Eclipse提供的Java编译器 是有差异的,以下方面的方法为例:
——————————————————————————————————
public class API2 {
  public void getName(String name,int id){}
}
——————————————————————————————————
通过Eclipse编译后的Class文件中是带有参数实际名称的(如下图):

而时直接使用Sun提供的默认编译器(javac),该javac编译后的Class文件中确实丢失了参数的实际名称(如下图):


【解决方案】
1、直接使用Eclipse导出jar包;
2、如果用ant打包,则需要指定使用Eclipse提供的Java编译器进行编译之后再打包(如下图):

分享到:
评论

相关推荐

    Ant打包jar,参数名变为无意义的arg0,arg1,Java代码提示参数名称无意义

    Ant打包jar,参数名变为无意义的arg0,arg1,Java代码提示参数名称无意义 Class not found: org.eclipse.jdt.core.JDTCompilerAdapter 让ant使用Eclipse的打包功能. 使用ant打包的jar,变量变成如下无意义的arg0,arg1. ...

    Java 8中如何获取参数名称的方法示例

    在Java编程语言中,获取方法参数名称通常是一个挑战,因为Java的字节码(class文件)在编译时默认不保存参数的名称。然而,从Java 8开始,Java引入了一个新的特性,允许开发者在运行时通过反射获取方法参数的名称。...

    批处理执行java代码

    批处理执行Java代码是一种在没有用户交互的情况下自动化运行Java程序的方法。这通常涉及到创建一个批处理脚本(在Windows系统中是`.bat`文件,在Unix或Linux系统中是`.sh`文件),然后在这个脚本中调用Java命令来...

    Xfire调用webservice无法接收到参数问题解决

    本文将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决方案。 首先,我们需要理解Web服务的基本工作原理。Web服务通常基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信。SOAP消息封装...

    java代码编码规范

    【Java代码编码规范】是Java开发者应当遵循的重要指导原则,旨在提升代码的可读性、可维护性和团队协作效率。编码规范不仅适用于专业的产品级代码,也应当贯穿于学习和实验过程中的每一个阶段。以下是对Java编码规范...

    将Java代码打包为exe文件

    ### 将Java代码打包为exe文件 #### 一、引言 在开发Java应用程序时,通常我们会使用`.jar`文件来发布程序。然而,在非专业用户的环境中,运行`.jar`文件需要安装Java运行环境(JRE)并且了解如何通过命令行来启动...

    Kotlin传递可变长参数给Java可变参数实例代码

    Kotlin传递可变长参数给Java可变参数实例代码 Kotlin是一种现代化的静态类型语言,运行于Java虚拟机上,能够与Java语言进行无缝集成。在实际开发中,我们经常需要在Kotlin和Java之间进行交互,特别是在调用Java方法...

    Java代码简单按钮

    根据提供的文件信息,可以看出这是一段不完整的 Java 代码,主要涉及了 Java 中的基本界面构建、菜单栏设计以及按钮操作等内容。接下来将基于这段代码的关键部分进行知识点的梳理与总结。 ### Java GUI 基础 #### ...

    arg_parser 源码

    它还可以处理布尔参数(无值参数,如`-v`表示开启某种模式),以及带有值的参数(如`--input file.txt`)。此外,它还允许设置参数的默认值,限制参数数量,以及定义参数的依赖关系。 3. **API设计** 在C++版本中...

    将Java代码打包为exe文件(绝对可行)

    ### 将Java代码打包为exe文件(绝对可行) #### 知识点概述 本文将详细介绍如何将Java代码打包成exe格式的可执行文件,使得Java应用程序可以在不安装JRE(Java运行环境)的情况下运行。这一过程对于那些希望将Java...

    argtable-1.4

    - 在开发嵌入式系统或系统级软件时,argtable是一个理想的参数解析解决方案,因为它轻量且高效。 7. **学习资源**: - 开源社区提供了详细的文档和示例代码,帮助开发者快速上手argtable。 - 阅读源代码可以更...

    java调用shell(包含有参数的调用)

    例如,`exec("sh xx.sh arg1 arg2")`语句中的`arg1`和`arg2`就是传递给Shell脚本的两个参数。 下面是一个具体的Java调用Shell脚本的代码示例: ```java try { // 假设我们有参数需要传递给Shell脚本 String ...

    C以及Java中可变参数列表函数定义方法

    可变参数列表,也称为不定参数或可变参数,允许函数接受不同数量的参数,增加了代码的灵活性。 在C语言中,可变参数列表的实现依赖于`stdarg.h`库中的宏和数据类型。要定义一个可变参数列表的函数,我们需要以下几...

    class字节码转java代码工具

    1. **命名丢失**:由于Java字节码不保存原始变量和方法名,反编译工具通常会使用默认的命名,如arg0、arg1等,这可能会影响代码的可读性。 2. **注释丢失**:字节码中不包含源代码的注释,所以反编译后的代码将没有...

    修改重写方法的参数,eclipse关联上源代码

    当你在Eclipse中进行重写操作时,可能会遇到自动生成的方法参数被命名为`arg0`, `arg1`等默认名称,这些名称并不直观,可能影响代码的可读性。本篇文章将深入讲解如何在Eclipse中修改和重写方法的参数,并关联源代码...

    防止sql注入的java代码

    ### 防止SQL注入的Java代码解析 #### 概述 在Web应用程序开发中,SQL注入是一种常见的安全攻击方式,攻击者通过篡改输入数据,插入恶意SQL语句,以此来操纵数据库执行非预期的操作。为了提升系统的安全性,开发者...

    java start up arg samples

    “源码”标签可能意味着这篇博客会涉及到Java代码示例,包括如何在源代码级别使用这些启动参数。而“工具”可能指的是使用某些Java开发工具(如JDK自带的jconsole、jvisualvm等)来分析和调整这些参数的效果。 ...

    java反射获取参数.zip

    Java反射是Java编程语言中的一个强大工具,它...通过反射,开发者可以在运行时动态地操控类,实现代码的灵活性,但需要注意的是,反射操作可能会带来安全风险,如破坏封装性,增加程序的复杂性,因此在使用时应当谨慎。

    怎样让Ant编译生成的字节码带实际参数信息,不是arg0之类

    后来我了解了javac命令和下字节码的知识。分析如下:Ant的debug和debuglevel参数会去调用JDK的javac ...所以,我们用javac -g参数或者用Ant的编译类可以读出方法参数名,而编译接口就不能读出,仍然是arg0,arg1的形式。

    HMM.zip_HMM_HMM java_Java HMM _java argmin_语音 HMM

    "java_argmin"标签可能指的是在Java中实现的寻优算法,如最小化函数(argmin),这在HMM的Viterbi算法中尤为关键。Viterbi算法用于找到最有可能的隐藏状态序列,即给定观测序列下模型的最优解释。 总的来说,这个...

Global site tag (gtag.js) - Google Analytics