2009-02-05 7 views
1

Je suis plutôt fâché/déconcerté pour le moment.Netbeans, Ant et RMIC (Java RMIC Compiler) (Aide avec)

J'ai un projet Netbeans, qui compile bien. J'ai édité le fichier build.xml pour créer une cible "-post-compile", qui exécute une tâche rmic ant. Alors maintenant, quand je "nettoie et compile", il compile mon code principal, puis génère les stubs rmic pour moi.

Cependant, lorsque j'ai choisi d'exécuter mon projet netbeans, en utilisant les dialouges de netbean, mes fichiers de raccord disparaissent comme par magie. (Pourtant, les classes compilées restent toujours) Ensuite, il essaie d'exécuter mon application, ce qui, bien sûr, échoue, car les fichiers de raccord requis sont maintenant manquants.

Ceci est dans un projet géré par netbeans (pas une application de forme libre). J'ai spécifié la classe que je voudrais «courir». Et ce sont essentiellement les seules options qui me sont données.

J'ai essayé:

<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"/> 

à l'intérieur du build.xml (pour remplacer l'accumulation impl.xml).

Quelqu'un peut-il faire la lumière sur ce sujet? Sur une autre note, quand je lance Ant via la commande like ('ant run') cela fonctionne très bien. (Init, compile, post-compile et exécute)

Lorsque vous inspectez les journaux de débogage Ant lorsque vous tentez d'exécuter Netbeans sur l'application, il apparaît uniquement pour exécuter la tâche 'Exécuter'. (Ce qui, évidemment, ne semble pas être le 'run' que j'ai fourni.)

J'apprécierais énormément toute aide sur ce sujet, car compiler et courir séparément est assez contre-productif. netbeans et en utilisant cmdline ant pour construire et exécuter.)

Répondre

1

Juste une conjecture sauvage (car je n'ai pas utilisé RMI depuis un certain temps), puisque Java 1.5 RMI Stub classes ne sont plus nécessaires, ils sont générés automatiquement. pourrait être la raison pour laquelle NetBeans les supprime.

vous pouvez supprimer les tâches de fourmis rmic références de vous build.xml.

0

J'avais exactement le même problème. La façon dont je l'ai résolu remplace la cible "run" dans le fichier build.xml de mon projet.

<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> 

Cependant, problème est toujours pas complètement résolu depuis l'aide du menu contextuel ou F6 supprimera encore stub et les fichiers du squelette. Vous devez exécuter la cible "run" directement à partir du fichier build.xml.