我有一个命令行应用程序,我需要从另一个jar文件中引用,而我不想做的是将现有代码复制并粘贴到包含其他应用程序的源文件的项目中,因为这种方法将导致可维护性问题。
我考虑过做以下事情:
部署2个jar文件;将命令行应用程序作为进程运行(这种方法的问题在于我不想处理孤立进程)。
部署2个jar文件;使用反射调用命令行应用程序的main方法。 (我不确定这是个好主意。)
以某种方式引用包含命令行应用程序源代码的项目,并编写一个将类文件复制到另一个应用程序的jar文件中的ant文件。
哪种方法最有意义?如果答案是#3,我究竟需要如何设置eclipse项目和/或编写ant文件,以便我需要的类文件包含在新的jar文件中?
答案 0 :(得分:0)
在我看来,我更倾向于接近1.
假设您的命令行应用程序是Jar1,引用的第三方jar是JAR2。只需将JAR2添加到classpath即可。而已。您可以从Jar1调用所有需要的类。由于它是一个命令行应用程序,你不想处理孤立进程,理想的处理方法是,你应该从你的命令行应用程序处理它以杀死孤儿进程,类似于你从你的finally块做的尝试捕获。
我对你的方法2感到迷失,因为反映非常气馁/过时,因为在任何问题的情况下很难调试