2010-10-28 22 views
2

est ici le flux de travail que je suis en train de construireLiens vers Java code protobuf généré dans Eclipse

  • compiler mes fichiers proto à l'aide d'un script, mettre le src généré dans un répertoire spécifié
  • lien vers le produit classes dans Eclipse
  • compilent mon projet

Je suis facilement en mesure de le faire pour C++ en utilisant Eclipse CDT: dans mon projet, je choisis File-> New-> Autre et choisissez fichier sous général. Ensuite, je clique sur Avancé et sélectionne le lien vers le fichier système.

Cependant, je n'ai pas découvert comment faire pour Java. Une fois la réponse here suggère de créer un autre projet avec le code généré et en faire une dépendance à mon projet. Cela fonctionne mais semble redondant.

Existe-t-il un moyen de lier directement les classes Java protobuf générées à mon projet?

Répondre

3

Bien Java n'a pas vraiment de phase de "lien". Vos deux options sont vraiment:

  • Générez le code généré en dehors Eclipse, puis ajoutez une référence dans le répertoire correspondant ou d'un fichier jar
  • Inclure le code généré au sein d'Eclipse (par exemple en ayant un chemin source qui comprend la répertoire contenant votre code généré) et obtenir Eclipse pour le construire avec le reste de votre code.

Je soupçonne que la première option, il sera plus facile de garder le code généré bien loin de votre véritable source, mais la deuxième option peut rendre plus facile à parcourir la source générée, et emballer tout vers le haut.

+0

Merci pour la réponse! Je pense que la 2ème solution sonne mieux. Toutefois, lorsque j'essaie d'inclure le répertoire source à partir de Propriétés-> Chemin de génération Java, sous Source Eclipse ne me laisse pas lier à un fichier système arbitraire. Est-ce que le répertoire de code généré * doit * être placé dans le répertoire du projet? – recipriversexclusion

+0

@recipriversexclusion: Je ne me souviens pas s'il est possible d'inclure un répertoire externe ... Je ne pense pas que j'en ai jamais eu besoin. C'est pourquoi j'ai dit que la première option rendrait plus facile de garder la source générée loin de votre projet :) –

+0

Vous pouvez essayer le bouton 'link source' dans l'onglet source du chemin de compilation. – mooreds