Java 在Ubuntu上将参数作为服务传递给Jar

Java 在Ubuntu上将参数作为服务传递给Jar,java,Java,我有一个运行在ubuntu上的jar文件,它使用usb令牌(XMLSigner)工作,当启动jar文件时,用pin输入usb,需要很长时间 我的jar文件可以很好地与以下命令配合使用: java -jar /opt/signinvoice.jar PIN XML_FILE 运行服务后如何传递参数 在使用类似命令(signer.service)启动服务后,我希望传递参数并签署发票: 我的主类开始执行以下命令: public static void main(String[] IncomingIn

我有一个运行在ubuntu上的jar文件,它使用usb令牌(XMLSigner)工作,当启动jar文件时,用pin输入usb,需要很长时间

我的jar文件可以很好地与以下命令配合使用:

java -jar /opt/signinvoice.jar PIN XML_FILE
运行服务后如何传递参数

在使用类似命令(signer.service)启动服务后,我希望传递参数并签署发票:

我的主类开始执行以下命令:

public static void main(String[] IncomingInfo) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            try {
                PIN = IncomingInfo[0];
                XmlFile = IncomingInfo[1];

这将帮助您解析参数。如果要使用
System.out.printLn(),使用
java-jar/opt/signinvoice.jar PIN XML_文件将在该应用程序中为您提供“PIN”、“XML_文件”在他们身上。因此,将它们设置为程序中所需的内容

import javax.swing.*;

public class Main {


    public static void main(String[] args){
        // Check to make sure you have args first, we do not want an exception
        if(args.length > 0){
            String pin = args[0];
            String file = args[1];

            // Insert some args check to make sure they are what you expected, length wise, or
            // even convert to numbers

            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    // Do stuff with args
                    PIN = pin;
                    FILE = file;
                }
            });
        } else {
            // No args oh shoot.
        }
    }
}

这将帮助您解析参数。如果要使用
System.out.printLn(),使用
java-jar/opt/signinvoice.jar PIN XML_文件将在该应用程序中为您提供“PIN”、“XML_文件”在他们身上。因此,将它们设置为程序中所需的内容

import javax.swing.*;

public class Main {


    public static void main(String[] args){
        // Check to make sure you have args first, we do not want an exception
        if(args.length > 0){
            String pin = args[0];
            String file = args[1];

            // Insert some args check to make sure they are what you expected, length wise, or
            // even convert to numbers

            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    // Do stuff with args
                    PIN = pin;
                    FILE = file;
                }
            });
        } else {
            // No args oh shoot.
        }
    }
}


你试过什么?你看了吗?我检查了一些示例代码,但我不能工作,我只是java的初学者。还有,运行后如何使用args调用服务?调用服务将是一个单独的问题,我建议先学习一些。这就好比要求某人给你指出一条容易的路,但他们的道路可能并不容易。我会用一个示例应用程序发布一个答案,你可以用它来学习如何使用args并处理它们。你是对的,它的不同问题,我从3天开始搜索它,我看起来不容易。但是我找不到任何样品你试过什么?你看了吗?我检查了一些示例代码,但我不能工作,我只是java的初学者。还有,运行后如何使用args调用服务?调用服务将是一个单独的问题,我建议先学习一些。这就好比要求某人给你指出一条容易的路,但他们的道路可能并不容易。我会用一个示例应用程序发布一个答案,你可以用它来学习如何使用args并处理它们。你是对的,它的不同问题,我从3天开始搜索它,我看起来不容易。但是我找不到任何示例..我用你的代码修改了我的代码,这里出现了问题字符串pin=args[0]。ArrayIndexOutofBounds异常:0看到您没有在Stackoverflow上发布太多内容;当一个答案解决了问题时,你可以接受这个答案,这样其他人就知道它解决了问题。谢谢你花了很多时间,伙计,让我们来看看如何传递这个服务的论点。再次感谢你,我正在尝试在ubuntu上使用这个jar作为服务。我将再次尝试将arg传递到此服务。我添加了私有同步void waitMethod(){和jar文件begin stay background。现在如何将参数传递给运行的java?我用你的代码修改了我的代码,得到了问题字符串pin=args[0];.ArrayIndexOutofBounds异常:0看到你没有在Stackoverflow上发布太多信息;当一个答案解决了这个问题时,你可以接受这个答案,这样其他人就会知道它解决了这个问题。非常感谢你,朋友,让我们来看看如何将参数传递给这个服务。再次感谢你。我正在尝试在ubuntu上使用这个jar作为服务。我会尝试的再次将arg传递给此服务。我添加了私有同步void waitMethod(){和jar文件begin staid background。现在如何将arg传递给运行的java?