You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何定位或自定义基于NetBeans Platform的Maven应用main方法?

定位或自定义NetBeans Platform + Maven应用的Main方法

一、为什么找不到项目内的Main方法?

NetBeans Platform应用默认使用平台核心模块提供的org.netbeans.core.startup.Main作为入口类,这个类属于NetBeans平台框架,并非你的项目代码,所以你在自己的代码中找不到Main方法是正常现象。

二、自定义Main方法实现系统属性优先设置

要在所有操作执行前完成系统属性设置,必须创建自定义Main类并将其配置为应用入口,具体步骤如下:

  1. 创建自定义Main类
    在你的主模块(通常是命名带-app后缀、moduleType配置为app的模块)中新建Java类,示例代码:
package com.yourcompany.yourapp;

public class CustomMain {
    public static void main(String[] args) {
        // 在这里优先设置所有需要的系统属性
        System.setProperty("custom.property.key", "property-value");
        // 调用NetBeans平台的启动入口,继续完成应用初始化
        org.netbeans.core.startup.Main.main(args);
    }
}
  1. 配置Maven插件指定入口类
    打开主模块的pom.xml,修改nbm-maven-plugin的配置,添加mainClass参数:
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nbm-maven-plugin</artifactId>
            <version>4.1</version> <!-- 使用你项目中对应的插件版本 -->
            <configuration>
                <!-- 指定自定义Main类的全限定名 -->
                <mainClass>com.yourcompany.yourapp.CustomMain</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. IDE运行配置(NetBeans IDE)
    右键主模块 → 属性 → 运行,在“主类”下拉框中选择你创建的CustomMain类,确保IDE调试、运行时使用该入口。

  2. 依赖检查
    如果主模块未自动依赖NetBeans核心启动模块,需在pom.xml中添加依赖:

<dependencies>
    <dependency>
        <groupId>org.netbeans.api</groupId>
        <artifactId>org-netbeans-core-startup</artifactId>
        <version>${netbeans.version}</version> <!-- 匹配你的NetBeans Platform版本 -->
        <type>nbm</type>
    </dependency>
</dependencies>

三、验证

执行mvn package打包应用,启动后会先执行自定义Main方法中的系统属性设置,再初始化NetBeans平台,确保属性设置时机早于所有业务操作。

内容的提问来源于stack exchange,提问作者user13583700

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 01:45:14