Netbeans, Ant и RMIC (компилятор Java RMIC) (справка с)

Я сейчас довольно обижен / сбит с толку.

У меня есть проект Netbeans, который отлично компилируется. Я отредактировал файл build.xml, чтобы создать цель "-post-compile", которая выполняет rmic ant задачу.

Итак, теперь, когда я «очищаю и строю», он компилирует мой основной код, а затем генерирует для меня rmic-заглушки.

Однако, когда я выбрал «Запустить» свой проект netbeans с использованием диалоговых окон netbean, мои файлы-заглушки волшебным образом исчезли. (Тем не менее, скомпилированные классы все еще остаются) Затем он пытается запустить мое приложение, что, конечно же, терпит неудачу, поскольку требуемые файлы-заглушки теперь отсутствуют.

Это проект, управляемый netbeans (а не приложение ant в свободной форме). Я указал класс, который хочу «запустить». И это, по сути, единственные варианты, которые мне даются.

Я пробовал:

<target name="-post-compile">
<rmic classname="RTIController.Lane_Assignment_Strategy.Impl_Lane_Assignment_Strategy_Dist_FirstFlow" base="${build.classes.dir}"/>
<rmic classname="MappingModel.Impl_SimObjectPackage.Impl_Road" base="${build.classes.dir}"/>
<rmic classname="MappingModel.Impl_SimObjectPackage.Impl_Lane" base="${build.classes.dir}"/>
<rmic classname="MappingModel.Impl_SimObjectPackage.Impl_Veh_Source" base="${build.classes.dir}"/>
<rmic classname="MappingModel.Impl_SimObjectPackage.Impl_Veh_Sink" base="${build.classes.dir}"/>
<rmic classname="RTIController.Timing_Event.Adapter_Timing_Event_Source" base="${build.classes.dir}"/>
<rmic classname="MappingModel.Impl_SimObjectPackage.Impl_Vehicle.Impl_Vehicle_Car" base="${build.classes.dir}"/>
<rmic classname="MappingModel.Impl_SimObjectPackage.Impl_Vehicle.Impl_Vehicle_Truck" base="${build.classes.dir}"/>
</target>
<target name="run" depends="init,compile,graphicalMapper-impl.run"/>

внутри build.xml (чтобы переопределить build-impl.xml).

Кто-нибудь может пролить свет на эту тему? С другой стороны, когда я запускаю Ant с помощью команды типа ('ant run'), он работает нормально. (Выполняется инициализация, компиляция, посткомпиляция и запуск.)

При проверке журналов отладки Ant при попытке заставить Netbeans «запустить» приложение оказывается, что оно выполняет только задачу «запустить». (Которая, очевидно, не кажется переопределяемой «пробежкой», которую я предоставил.

Я был бы очень признателен за любую помощь по этому вопросу, поскольку компиляция и запуск по отдельности довольно контрпродуктивны. (В настоящее время разрабатываю netbeans и использую cmdline ant для сборки и запуска.)


person Alex Lim    schedule 05.02.2009    source источник


Ответы (2)


Просто дикая догадка (так как я давно не использовал RMI), поскольку классы-заглушки Java 1.5 RMI больше не нужны. Они генерируются автоматически. Это может быть причиной того, что netbeans удаляет их.

Вы можете попробовать удалить ссылки на rmic ant tasks из файла build.xml.

person Gerbrand    schedule 06.02.2009

У меня была точно такая же проблема. То, как я решил это, переопределяет цель «запустить» в build.xml из моего проекта.

<target name="run" depends="PrOJECT-impl.jar">
    <java classpath="${run.classpath}" jar="${dist.jar}">
        <sysproperty value="codebase_url" key="java.rmi.server.codebase"></sysproperty>
        <sysproperty value="policy" key="java.security.policy"></sysproperty>
    </java>
</target>

Однако проблема все еще не решена полностью, поскольку использование контекстного меню или F6 все равно удалит файлы-заглушки и скелетные файлы. Вам нужно запустить цель "запустить" прямо из файла build.xml.

person Community    schedule 05.05.2009