Java:从同一个JAR启动两个不同的应用程序?
是否有可能从同一个jar启动两个不同的应用程序?我编写了简单的客户机-服务器,客户机和服务器部分都在一个JAR中。它们使用一些公共类 我知道,我可以为客户机和服务器创建单独的jar,并将常用的类和资源放入第三个jar中。这实际上是做事情的“正确”方式。但是我的任务很简单,类也很小,所以我不想做三个罐子而不是一个 java-jar需要清单中的主类。而且似乎没有-jar开关我也无法让它工作Java:从同一个JAR启动两个不同的应用程序?,java,jar,executable-jar,Java,Jar,Executable Jar,是否有可能从同一个jar启动两个不同的应用程序?我编写了简单的客户机-服务器,客户机和服务器部分都在一个JAR中。它们使用一些公共类 我知道,我可以为客户机和服务器创建单独的jar,并将常用的类和资源放入第三个jar中。这实际上是做事情的“正确”方式。但是我的任务很简单,类也很小,所以我不想做三个罐子而不是一个 java-jar需要清单中的主类。而且似乎没有-jar开关我也无法让它工作 顺便说一句,客户端和服务器当然应该能够并排运行。是的,创建一个接受参数的主类,并使用该参数确定是否启动客户端或
顺便说一句,客户端和服务器当然应该能够并排运行。是的,创建一个接受参数的主类,并使用该参数确定是否启动客户端或服务器:
public class MyMainClass
{
public static void Main(String[] args)
{
if (args.length != 0 && args[1].toLowerCase().equals("server"))
/* launch the server */;
else
{
/* launch the client */
}
}
}
这就是我要做的。是的,创建一个接受参数的主类,并使用该参数确定是否启动客户端或服务器:
public class MyMainClass
{
public static void Main(String[] args)
{
if (args.length != 0 && args[1].toLowerCase().equals("server"))
/* launch the server */;
else
{
/* launch the client */
}
}
}
这就是我要做的。jar中始终可以有两个主类,然后根据您是要运行客户端还是服务器来使用它们,如:
java -cp yourapp.jar com.your.app.ClientMain
及
您甚至可以分发bash或bat文件,以便更轻松地运行不同的应用程序。jar中始终可以有两个主类,然后根据您是要运行客户端还是服务器来使用它们,例如:
java -cp yourapp.jar com.your.app.ClientMain
及
您甚至可以分发bash或bat文件,以使运行不同的应用程序更容易。为什么没有-jar开关就无法使其工作?你试过用-cp替换-jar吗?@bkail-Yay!你的解决方案有效。请回答接受它。太简单了!:)为什么没有-jar开关就无法工作?你试过用-cp替换-jar吗?@bkail-Yay!你的解决方案有效。请回答接受它。太简单了!:)非常感谢,@bkail已经在评论中回答了正确的问题。非常感谢,@bkail已经在评论中回答了正确的问题。