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

寻求可自动添加Windows右键菜单的Maven Installer生成方案

免费Maven插件实现Windows安装程序(含右键菜单配置)

嘿,我之前做副业Java项目的时候刚好遇到过一模一样的需求!给你推荐两个完全免费的Maven插件方案,完美适配你的场景——不需要付费工具,就能搞定复制exe、创建配置目录和添加右键菜单这三件事:

方案一:NSIS + nsis-maven-plugin

NSIS是老牌的免费Windows安装包制作工具,有专门的Maven插件能集成到你的构建流程里,灵活性很高。

第一步:在pom.xml里配置插件

先把插件加到项目的构建配置中,它会在package阶段自动调用NSIS生成安装程序:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>nsis-maven-plugin</artifactId>
    <version>1.2</version>
    <executions>
        <execution>
            <id>build-installer</id>
            <phase>package</phase>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <script>src/main/nsis/installer.nsi</script>
        <outputDirectory>${project.build.directory}</outputDirectory>
    </configuration>
</plugin>

第二步:编写NSIS脚本实现核心功能

在src/main/nsis目录下创建installer.nsi脚本,这里面可以定义所有你需要的安装逻辑:

; 基础配置,可自定义名称和默认安装路径
Name "你的Java应用"
OutFile "YourAppInstaller.exe"
InstallDir "$PROGRAMFILES\你的Java应用" ; 用户安装时可以修改这个路径
RequestExecutionLevel admin ; 需要管理员权限修改注册表

; 主安装流程
Section "安装主程序" SEC01
    ; 把你的exe复制到用户指定的安装目录
    SetOutPath "$INSTDIR"
    File "${project.build.directory}/your-app.exe" ; 替换成你的实际exe文件名

    ; 在AppData下创建配置和日志文件夹
    CreateDirectory "$APPDATA\你的Java应用\config"
    CreateDirectory "$APPDATA\你的Java应用\logs"

    ; 添加针对所有文件的右键菜单
    WriteRegStr HKCR "*\shell\你的Java应用" "" "用你的Java应用打开"
    WriteRegStr HKCR "*\shell\你的Java应用\command" "" '"$INSTDIR\your-app.exe" "%1"'

    ; 可选:添加针对文件夹的右键菜单
    WriteRegStr HKCR "Directory\shell\你的Java应用" "" "用你的Java应用处理文件夹"
    WriteRegStr HKCR "Directory\shell\你的Java应用\command" "" '"$INSTDIR\your-app.exe" "%1"'
SectionEnd

; 卸载流程(可选,方便用户清理)
Section "卸载"
    ; 删除右键菜单的注册表项
    DeleteRegKey HKCR "*\shell\你的Java应用"
    DeleteRegKey HKCR "Directory\shell\你的Java应用"

    ; 删除安装目录和AppData文件夹(可根据需求调整是否保留配置)
    RMDir /r "$INSTDIR"
    RMDir /r "$APPDATA\你的Java应用"
SectionEnd

方案二:Inno Setup + innosetup-maven-plugin

Inno Setup也是完全免费的,脚本语法更直观,适合不太熟悉NSIS的开发者,同样有Maven插件支持。

第一步:配置pom.xml

把插件加到构建配置中:

<plugin>
    <groupId>com.github.blutorange</groupId>
    <artifactId>innosetup-maven-plugin</artifactId>
    <version>2.6.0</version>
    <executions>
        <execution>
            <id>compile-script</id>
            <goals>
                <goal>compile</goal>
            </goals>
            <phase>package</phase>
        </execution>
    </executions>
    <configuration>
        <script>src/main/innosetup/installer.iss</script>
        <outputDirectory>${project.build.directory}</outputDirectory>
    </configuration>
</plugin>

第二步:编写Inno Setup脚本

在src/main/innosetup目录下创建installer.iss:

[Setup]
AppName=你的Java应用
AppVersion=1.0
DefaultDirName={autopf}\你的Java应用 ; 默认安装到Program Files
OutputDir={tmp}
OutputBaseFilename=YourAppInstaller
PrivilegesRequired=admin ; 声明需要管理员权限

[Files]
; 复制你的exe到安装目录
Source: "${project.build.directory}\your-app.exe"; DestDir: "{app}"

[Dirs]
; 在AppData下创建配置和日志文件夹
Name: "{userappdata}\你的Java应用\config";
Name: "{userappdata}\你的Java应用\logs";

[Registry]
; 所有文件的右键菜单,卸载时自动删除
Root: HKCR; Subkey: "*\shell\你的Java应用"; ValueType: string; ValueName: ""; ValueData: "用你的Java应用打开"; Flags: uninsdeletekey
Root: HKCR; Subkey: "*\shell\你的Java应用\command"; ValueType: string; ValueName: ""; ValueData: """{app}\your-app.exe"" ""%1"""; Flags: uninsdeletekey

; 可选:文件夹的右键菜单
Root: HKCR; Subkey: "Directory\shell\你的Java应用"; ValueType: string; ValueName: ""; ValueData: "用你的Java应用处理文件夹"; Flags: uninsdeletekey
Root: HKCR; Subkey: "Directory\shell\你的Java应用\command"; ValueType: string; ValueName: ""; ValueData: """{app}\your-app.exe"" ""%1"""; Flags: uninsdeletekey

一些实用提示

  • 这两个方案都是完全免费的,没有任何付费门槛,非常适合副业项目。
  • 如果你追求轻量化选NSIS,想要更易读的脚本选Inno Setup,两者功能都能满足你的需求。
  • 注册表项可以根据需求调整,比如只给特定后缀的文件加右键菜单,只需要把*换成对应的文件类型(比如.txt)。
  • 记得测试安装后的右键菜单是否正常,有时候需要重启资源管理器才会生效,你也可以在脚本里加一段重启资源管理器的命令(NSIS和Inno Setup都支持调用系统命令)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:31:01