[英]Creating module / package based project?
我想用Java创建一个项目,将该项目作为自身其他部分的外壳,盒子或控制器(可能为其命名)。 我希望能够在程序安装后加载其他程序部分,例如插件或附加组件,或者如何调用它们。
例如,可以想到一个名为Calculator的程序,该程序的顶部具有MenuBar,从而可以加载几个JFrame(或JInternalFrame),这些JFrame提供不同的计算方式,例如ListSums,InvoiceSums,BreakEvenCalculator,...(等等)。
现在,我要创建的是一种遮罩,使我可以导入带有天气计算的新JInternalFrame。 从字面上添加几个菜单项和一组新的蒙版。 好吧,这种插件或插件应该从我提供的链接中下载。
我已经尝试过使用谷歌搜索某些方法来做到这一点,但是我不确定要搜索什么。
是否有任何网站提供有关如何创建这样的插件或附加组件的信息?
提前为每个乐于助人的灵魂欢呼!
由于您的问题不是很具体,所以不确定我是否理解正确,但是无论如何我都会尝试回答。
我猜想您想在运行时动态加载Java代码(无需重新启动/重新编译程序)。
因此,有一些不同的方法可以实现这一目标:
1.自己的“框架”
您将创建一个通用GUI,该GUI能够动态地动态生成GUI元素。 然后,您可以通过自己的DSL或XML在模块中定义模块。 然后根据您的定义生成GUI,您可以动态加载。 我曾经用它来自动生成一个GUI,用户可以在其中创建自己的动态报告,而用过一次的通用安装程序工具可以在一个案例中创建一个带有签出项目的新工作区,并在tomcat中构建和部署并运行一个webapp。
优点:
缺点:
2.使用一些执行引擎 (例如Rhino或Nashorn(Java 8) )
您可以使用JS开发模块,也可以从某些模块生成GUI(如1.中所述)-在Swing GUI的情况下,甚至从JS创建输出(在WebApp的情况下,也可以这样做)因为它只是打印html)
优点:
缺点:
3. OSGi / Spring DM服务器
您也可以使用自己的打包程序在Java中创建模块,并使用OSGi即时将其部署到您的应用程序中。
如果您希望将其用于Web应用程序,我将研究Spring dm Server: http : //static.springsource.com/projects/dm-server/1.0.x/programmer-guide/html/ch03s02.html
否则,OSGi应该更合适。
由于关于这两个主题的文档很多,因此在这里我不会做更多的介绍。
优点:
缺点:
如果我的回答对您有所帮助,如果您接受我会很高兴,如果不能接受,请提供更详细的信息,说明您想要实现什么以及您的要求是什么。
问候,曼努埃尔
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.