Параметры командной строки, указанные в NetBeans 8.2, отображаются при запуске .jar из командной строки - PullRequest
0 голосов
/ 05 февраля 2019

Я искал способ изменить это (нежелательное) поведение.Я устанавливаю аргументы командной строки в Project-> Properties-> Run-> Parameters и запускаю свою программу в IDE NetBeans.Аргументы передаются в мою программу очень хорошо, но они также появляются, когда я запускаю .jar из .bat-файла или .sh-скрипта после его компиляции.Таким образом, мой клиент в конечном итоге активирует мои тестовые аргументы, если я забуду удалить настройки из настроек проекта перед распространением моего .jar.Я ожидал, что эта информация будет удалена из .jar.По крайней мере, после компиляции без отладочной информации.Есть ли способ удалить аргументы из моего дистрибутива, не удаляя их из настроек проекта?У кого-нибудь есть такая же проблема?

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете добавить конфигурацию (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>

Вам все равно нужно помнить, что вы должны деактивировать свой профиль разработки перед отправкой, но вот так вы можете четко разделить конфигурацию между системой разработки и производственной системой.(Особенно если позже должны быть другие значения конфигурации, которые должны отличаться, например уровень ведения журнала, разные пути и т. Д.).

...