gpt4 book ai didi

java - 如何在另一个Jar中多次调用具有另一个Jar中的参数的Java类

转载 作者:行者123 更新时间:2023-12-03 13:10:34 24 4
gpt4 key购买 nike

我在RAD中有一个项目。包是inputFileEdit,我需要的java类是InputFileTest.java。

package inputFileEdit;

public class InputFileTest {

public static void main(String[] args) {
String var1 = args[0];
String var2 = args[1].toLowerCase();

// do stuff with args
}
}

我想创建一个新的程序包/java程序,该程序可以并行调用或实例化带有参数的上述InputFileTest类。我基本上将要带回一个String列表,遍历该列表以创建并行线程,列表上的每一行都调用InputFileTest。

问题1)调用InputFileTest的最佳方法是什么?我正在使用RAD,并创建了一个新项目,一个名为CallerPackage的程序包以及该程序包中的Caller.java?我还通过Java Build Path-> Libraries-> Add External Jars在/lib下包括整个InputFileEdit项目的“Jar”。我不知道如何使用参数来调用类(我尝试过类似 InputFileEdit ifeObj = new InputFileEdit("parm 1", "parm 2");InputFileEdit ifeObj = new InputFileEdit("parm 1 parm 2");的东西),但是都没有用,所以我尝试像 Process p = Runtime.getRuntime().exec("java -jar /lib/InputFileEdit.jar parm1 parm2");那样调用jar,或者因为我想要实际的类InputFileTest, Process p = Runtime.getRuntime().exec(new String[]{"java","-cp","/lib/InputFileEdit.jar", "InputFileTest", "parm1","parm1"});:
package CallerPackage;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
//import inputFileEdit.*;

public class Caller {

static int i = 0;

public static void main(String args[]) throws IOException, InterruptedException {
try {
System.out.println("Calling jar");
Process p = Runtime.getRuntime().exec("java -jar /lib/InputFileEdit.jar parm1 parm2");

BufferedInputStream errStrm = new BufferedInputStream(p.getErrorStream());

// get the error stream of the process and print it
for (int i = 0; i < errStrm.available(); i++) {
System.out.println("" + errStrm.read());
}

System.out.println("Called jar");

p.destroy();

}
catch (Exception ex) {
ex.printStackTrace();
}

}
}

但这似乎也不起作用或打印出任何有用的内容。对解决此问题的最佳方法有任何想法吗?在遍历列表并并行调用它们之前,我只想暂时让1个电话上类。最终它将通过字符串arraylist调用jar/class循环。

最佳答案

您应该能够像调用其他任何静态方法一样调用InputFileTest中的main方法:InputFileTest.main(args);
但是,一般直接调用main是不满意的。如果可以的话,我建议您使用InputFileTest主程序中的代码,并将其放入另一个更具描述性的方法中,例如processFiles

关于java - 如何在另一个Jar中多次调用具有另一个Jar中的参数的Java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34425794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com