我一直致力于解决方案。需要使用shell脚本命令调用在JAVA程序中编写的方法。有没有办法调用非main
方法。
我正在使用.sh文件来(启动和停止)程序。无论如何,我可以编写一个脚本来调用非“主”方法。
答案 0 :(得分:2)
只能从shell脚本调用main
方法。
示例是:
class Test
{
public static void main(String []arg)
{
String input = arg[0];
if ("start".equals(input))
//call start method
else if ("stop".equals(input))
//call stop method
else
//define default behaviour
}
}
<强>贝壳强>
java -cp /path/class Test start
这将调用Test类的main
方法并传递start
作为参数。
-cp
表示java类文件的路径。
假设java的路径已经在环境中设置。
编辑:你不能直接调用非main方法,而是可以将参数传递给main方法并根据输入(使用if-else)调用方法来启动或停止
答案 1 :(得分:1)
如果你想从shell调用一个方法,它肯定是你的应用程序的入口点。只需使用main方法编写一个类,该方法调用所需的方法,构建jar并将其作为常规Java应用程序执行。
答案 2 :(得分:1)
给出以下MyFirstJavaProgram.java
public class MyFirstJavaProgram {
/* This is my first java program.
* This will print 'Hello World' as the output
*/
public static void main(String []args) {
System.out.println("Hello World"); // prints Hello World
}
}
如果您的计算机上安装了正确的Java,则可以执行以下操作
C:\> javac MyFirstJavaProgram.java
C:\> java MyFirstJavaProgram
Hello World
答案 3 :(得分:0)
有几种选择:
main()
方法,该方法从命令行读取方法的名称(甚至是封闭类的名称),然后执行“by名称“main()
方法每个“其他方法”(当然这意味着你最终会有很多课程 - 每个课程内有一个main()
jython解决方案可能需要更多工作 - 但如果您正在尝试解决“真实世界”问题,这应该是您的首选。