1

我现在很生气/困惑。

我有一个 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 run') 之类的命令运行 Ant 时,它工作正常。(是否初始化、编译、后编译和运行。)

在尝试让 Ne​​tbeans“运行”应用程序时检查 Ant 调试日志时,它似乎只执行任务“运行”。(这显然不是我提供的覆盖的“运行”。

我将非常感谢有关此主题的任何帮助,因为单独编译和运行会适得其反。(目前在 netbeans 中开发并使用 cmdline ant 来构建和运行。)

4

2 回答 2

1

只是一个疯狂的猜测(因为我有一段时间没有使用 RMI),因为不再需要 Java 1.5 RMI Stub 类。它们是自动生成的。这可能是 netbeans 删除它们的原因。

您可以尝试从 build.xml 中删除 rmic ant 任务引用。

于 2009-02-06T10:46:03.440 回答
0

我有完全相同的问题。我解决它的方法是从我的项目中覆盖 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 文件运行“运行”目标。

于 2009-05-05T04:53:19.233 回答