是否可以以平台无关的方式使用Java应用程序的名称(而不是其位置)在单独的进程中加载Java应用程序?
我知道你可以通过…执行程序
Process process = Runtime.getRuntime().exec( COMMAND );
…这种方法的主要问题是,此类调用是特定于平台的。
理想情况下,我会将方法包装成像…这样简单的东西。
EXECUTE.application( CLASS_TO_BE_EXECUTED );
…并以形式传入应用程序类的完全限定名称CLASS_TO_BE_EXECUTED
。
两个提示:
System.getProperty("java.home") + "/bin/java"
为你提供了Java可执行文件的路径。
((URLClassLoader) Thread.currentThread().getContextClassLoader()).getURL()
帮助你重构当前应用程序的类路径。
然后你EXECUTE.application
就是(伪代码):
Process.exec(javaExecutable, "-classpath", urls.join(":"), CLASS_TO_BE_EXECUTED)
问题内容: 我在处理pyGTK应用程序时遇到一些问题。我给线程一些时间来完成其任务,如果有问题,我还是继续继续,只是警告用户。但是,一旦我继续,该线程就会停止,直到调用gtk.main_quit为止。这让我感到困惑。 相关代码: .................................... 问题答案: 首先,不要继承,使用。 其次,很可能导致您明显的阻塞的原因是它采用了一个默认值为的参
问题内容: 我目前正在开发一个Python应用程序,希望在该应用程序上查看实时统计信息。我想使用它以使其易于使用和理解。 问题是我的Flask服务器应该在我的Python应用程序的最开始处启动,而在最末尾停止。它看起来应该像这样: 因为我需要我的应用程序上下文(用于统计),所以不能使用multiprocessing.Process。然后,我尝试使用threading.Thread,但是Werkze
问题内容: 我已经为这个问题苦苦挣扎了一段时间,我似乎无法解决它。我已经尝试过不同的方法(Runtime.exec(),ProcessBuiler),但是似乎都没有用。 这是我的问题。我有一台经常打开的笔记本电脑。这台笔记本电脑运行一个Java工具,该工具通过usb连接到arduino,以打开和关闭房屋中的灯。我自己创建了这个程序,因此我也在做一些定期的维护工作。最近,我添加了一个从html界面重
我已经为hive创建了一个名为Zodiac的UDF,然后添加了JAR文件,并在hive中创建了临时函数。
我有一个需要执行一些业务逻辑的处理程序,我希望它在单独的线程池中执行,以不阻塞io事件循环。我已将DefaultEventExecutorGroup添加到管道中,如http://netty.io/4.0/api/io/netty/channel/ChannelPipeline.htmljavadoc和http://netty.io/wiki/new-and-noteworthy-in-4.0.ht
问题内容: 这是我的代码: 为什么不起作用?我懂了。在独立的应用程序中可以使用自动装配吗? 问题答案: Spring在独立应用程序中工作。您使用错误的方式来创建Spring bean。这样做的正确方法是: 在第一种情况下(问题中的那个),您将自己创建对象,而不是从Spring上下文中获取对象。因此,Spring没有机会获得依赖关系(这会导致)。 在第二种情况(此答案中的一种)中,您是从Spring