当来自命令行的 运行.jar 时,NetBeans 8.2 中指定的命令行参数出现

Command line parameters specified in NetBeans 8.2 turns up when running .jar from command line

我一直在寻找一种方法来改变这种(不需要的)行为。 我在 Project->Properties->运行->Parameters 中设置命令行参数,运行 我在 NetBeans IDE 中的程序。参数可以很好地传递到我的程序,但是当我 运行 来自 .bat 文件或 .sh 脚本的 .jar 编译后,它们也会出现。 因此,如果我忘记在分发我的 .jar 之前从项目设置中删除设置,我的客户最终会激活我的测试参数。 我本来希望从 .jar 中删除此信息。至少在没有调试信息的情况下编译之后。 有没有办法在不从我的项目设置中删除参数的情况下从我的分发中删除它们? 还有其他人遇到同样的问题吗?

您可以添加配置(项目->属性->配置->添加),select 在 "Project->Properties->Run" 下创建的配置,并仅为该配置指定参数。 但这种方式是 NetBeans 特有的。如果您使用的是 Maven,则应该使用配置文件。在你的 pom.xml:

中添加类似这样的内容
<project>
   ...
   <profiles>
        <profile>
            <id>test</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!--your command line arguments-->
                <exec.args>hello world</exec.args>
            </properties>            
        </profile>
    </profiles>
   ...
</project>

您仍然需要记住在发布前停用您的开发配置文件,但这样您可以以一种干净的方式分离开发系统和生产系统之间的配置。 (特别是如果以后应该有其他应该不同的配置值,比如日志记录级别、不同的路径等等)。