有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

谁调用了我的Java应用程序?

假设我有一个绑定为jar(TestExec.jar)的Java应用程序

当我想追踪谁调用了我的应用程序时,问题就出现了。我的意思是,作为一个独立的应用程序,有人通过命令行调用了(好像^{),或者只是双击,或者可能是通过计划任务(如在windows中)

所以我想。。。追踪那个。。无论是通过命令行还是双击或计划TAK

是否有任何设施或类似设施:)


共 (3) 个答案

  1. # 1 楼答案

    假设您的jar有一个主类,并且您希望通过调用它来跟踪谁使用了jar,那么您可以通过以下方式之一获取用户信息:

    • 从环境中使用user.name(非常不安全)
    • 从底层操作系统获取用户的详细信息(使用NTSystem/UnixSystem)
    • 使用目录服务器(如Active directory或Kerberos KDC)对用户进行身份验证

    一旦你获得了用户的详细信息,你就可以在一些常见的地方把它们记录下来

  2. # 2 楼答案

    唯一的判断方法是基于命令行参数或环境。您可能可以间接地解决这个问题,但我建议添加一个特定的参数,告诉您的程序它将如何运行

  3. # 3 楼答案

    可以创建使用不同参数值调用它的外部文件。例如,创建一个通过src=bat的批处理文件,而另一个创建windows服务并使用src=service调用它的文件。 如果你不亲自传递一些东西,我想你说不出来