我一直在寻找一种改变这种(不必要的)行为的方法。 我在Project-> Properties-> Run-> Parameters中设置命令行参数,然后在NetBeans IDE中运行程序。参数很好地传递给了我的程序,但是当我在编译后从.bat文件或.sh脚本运行.jar时,它们也会出现。 因此,如果我在分发.jar之前忘记从项目设置中删除设置,那么我的客户最终将激活我的测试参数。 我本来希望将此信息从.jar中删除。至少在编译后没有调试信息。 有没有一种方法可以从我的分布中删除参数而又不从我的项目设置中删除它们呢? 还有其他人遇到同样的问题吗?
答案 0 :(得分:0)
您可以添加一个配置(Project-> Properties-> Configurations-> Add),在“ 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>
您仍然需要记住在发货之前停用开发配置文件,但是像这样,您可以以干净的方式将开发和生产系统之间的配置分开。 (尤其是稍后是否应该有其他应该不同的配置值,例如日志记录级别,不同的路径等)。