如何修改基于 NetBeans 平台的应用程序的 main 方法?

问题描述 投票:0回答:2

我正在开发基于 Maven 和 NetBeans 平台的 Java 桌面应用程序。我的用例需要在发生其他事情之前设置系统属性作为第一步。我需要在

main
方法中执行此操作,并且在
static
中使用
ModulInstall
块对于我的要求来说太晚了。我面临的挑战是我无法在基于 NetBeans 平台的 Java 桌面应用程序中找到
main
方法。

有人可以指导我在基于 NetBeans 平台的应用程序中在哪里找到

main
方法,或者如何为此类应用程序编写自己的
main
方法吗?我很感激对此问题的任何见解或解决方案。

java netbeans netbeans-platform netbeans-plugins netbeans-12
2个回答
0
投票

我曾经遇到过类似的问题,OnStart 注释(source / example)执行得太晚了。

由于我只有一个 NetBeans 模块,因此我引入了一个抽象 TopComponent 类。在构造函数中,我有一个同步初始化块。每个其他 TopComponent 都从抽象类扩展而来。由于模块的初始化没有顺序,因此加载的第一个模块将初始化代码。

这对我来说效果很好,尽管我认为它很老套。

(至少)您需要考虑两件事:

  • 您可能会使用一个标志来指示初始化是否已经完成。不要使用普通布尔值而不是 AtomicBoolean,否则你的初始化可能会被调用多次
  • 如果引入新的 TopComponent,请不要忘记从抽象类扩展

0
投票

我按照本文中提供的指导成功解决了我的问题:https://stackoverflow.com/a/12908982/13583700

我使用了 custom

main
方法将系统属性设置为初始步骤,确保它先于任何其他操作。之后,我调用了 NetBeans 的
main
方法。

© www.soinside.com 2019 - 2024. All rights reserved.