kubernetes Ballerina -将Java库与应用程序结合使用

nx7onnlm  于 2024-01-06  发布在  Kubernetes
关注(0)|答案(1)|浏览(132)

我想在Ballerina中使用Java Kubernetes API Client
thisthisthis我都读过。
基于Java的依赖关系的唯一问题是这个。
如果以后需要这些类中的一个,可以重新运行Bindgen工具来生成Ballerina绑定的完整实现。

  • 我如何重新运行它?使用与bal bindgen初始运行相同的CLI选项?
  • 我如何告诉已经存在的Kubernetes客户端Java绑定,这些依赖关系是为它们准备的?
  • 我如何告诉bal bindgen用每个依赖项的新bal bindgen结果填充存根依赖类?
  • 我如何告诉bal bindgen不需要特定的类名,但至少接受一个带有通配符的包前缀,以包含该包的所有类?

这是我运行的bal bindgen CLI行。

  1. bal bindgen -mvn io.kubernetes:client-java:18.0.1 --with-optional-types-param --with-optional-types-return --public --output "${path_output}" org.yaml.snakeyaml.Yaml java.io.FileInputStream java.io.InputStream java.util.Map

字符串
这些课程是从教育课程中提取出来作为测试。
这是bal bindgen运行的输出。

  1. Resolving maven dependencies...
  2. Updated the `Ballerina.toml` file with the new platform libraries.
  3. The following JARs were added to the classpath:
  4. slf4j-api-2.0.6.jar
  5. google-http-client-gson-1.42.3.jar
  6. google-auth-library-credentials-1.16.0.jar
  7. guava-31.0.1-android.jar
  8. accessors-smart-2.4.2.jar
  9. oauth2-oidc-sdk-9.4.jar
  10. nimbus-jose-jwt-9.8.1.jar
  11. error_prone_annotations-2.16.jar
  12. bcutil-jdk18on-1.72.jar
  13. content-type-2.1.jar
  14. google-auth-library-oauth2-http-1.16.0.jar
  15. okhttp-4.10.0.jar
  16. commons-lang3-3.12.0.jar
  17. commons-collections4-4.4.jar
  18. gson-fire-1.8.5.jar
  19. httpcore-4.4.15.jar
  20. simpleclient_common-0.15.0.jar
  21. j2objc-annotations-1.3.jar
  22. opencensus-api-0.31.1.jar
  23. javax.annotation-api-1.3.2.jar
  24. commons-codec-1.15.jar
  25. client-java-proto-18.0.1.jar
  26. annotations-13.0.jar
  27. lang-tag-1.5.jar
  28. json-smart-2.4.2.jar
  29. logging-interceptor-4.10.0.jar
  30. okio-jvm-3.0.0.jar
  31. httpclient-4.5.13.jar
  32. adal4j-1.6.7.jar
  33. listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
  34. client-java-api-18.0.1.jar
  35. kotlin-stdlib-jdk8-1.6.10.jar
  36. commons-logging-1.2.jar
  37. jcip-annotations-1.0-1.jar
  38. simpleclient_tracer_otel_agent-0.15.0.jar
  39. commons-io-2.11.0.jar
  40. swagger-annotations-1.6.9.jar
  41. simpleclient_tracer_common-0.15.0.jar
  42. asm-8.0.1.jar
  43. bcpkix-jdk18on-1.72.jar
  44. simpleclient_tracer_otel-0.15.0.jar
  45. google-http-client-1.42.3.jar
  46. client-java-18.0.1.jar
  47. simpleclient_httpserver-0.15.0.jar
  48. jose4j-0.9.3.jar
  49. checker-qual-3.12.0.jar
  50. opencensus-contrib-http-util-0.31.1.jar
  51. kotlin-stdlib-common-1.5.31.jar
  52. bcprov-jdk18on-1.72.jar
  53. gson-2.10.1.jar
  54. failureaccess-1.0.1.jar
  55. kotlin-stdlib-1.6.20.jar
  56. auto-value-annotations-1.10.1.jar
  57. jsr305-3.0.2.jar
  58. protobuf-java-3.22.0.jar
  59. simpleclient-0.15.0.jar
  60. checker-compat-qual-2.5.5.jar
  61. grpc-context-1.27.2.jar
  62. kotlin-stdlib-jdk7-1.6.10.jar
  63. commons-compress-1.22.jar
  64. snakeyaml-2.0.jar
  65. Generating bindings for:
  66. java.util.Map
  67. java.io.FileInputStream
  68. org.yaml.snakeyaml.Yaml
  69. java.io.InputStream
  70. java.lang.Object
  71. Generating dependency bindings for:
  72. org.yaml.snakeyaml.introspector.BeanAccess
  73. java.util.function.BiFunction
  74. org.yaml.snakeyaml.DumperOptions$FlowStyle
  75. org.yaml.snakeyaml.constructor.BaseConstructor
  76. java.util.function.Function
  77. java.lang.Iterable
  78. org.yaml.snakeyaml.DumperOptions
  79. org.yaml.snakeyaml.nodes.Node
  80. java.util.function.BiConsumer
  81. org.yaml.snakeyaml.resolver.Resolver
  82. java.io.OutputStream
  83. java.util.Map$Entry
  84. java.util.Iterator
  85. java.util.Collection
  86. java.util.Set
  87. org.yaml.snakeyaml.LoaderOptions
  88. java.io.Reader
  89. org.yaml.snakeyaml.nodes.Tag
  90. java.io.File
  91. java.util.List
  92. java.io.FileDescriptor
  93. java.io.Writer
  94. org.yaml.snakeyaml.representer.Representer
  95. java.lang.Class
  96. org.yaml.snakeyaml.TypeDescription
  97. java.util.regex.Pattern
  98. java.nio.channels.FileChannel

nr7wwzry

nr7wwzry1#

我该如何重新运行它?
如果你需要重新运行bindgen命令来生成一个或多个依赖类的完整实现,如这里所提到的,你可以通过运行初始命令并在最后附加新的类来完成。该工具将在必要时替换修改后的绑定文件。
我如何告诉已经存在的Kubernetes客户端Java绑定,这些依赖关系是为它们准备的?
在重新运行命令后,您不需要显式地将新生成的依赖项绑定链接到已经存在的依赖项绑定。如上所述,工具会在重新生成过程中自动处理它。
我如何告诉bal bindgen用每个依赖项的新bal bindgen结果填充存根依赖项类?
为此,您必须在bindgen命令中显式地手动指定每个依赖类(您希望为其生成完整实现)的限定名。
我如何告诉bal bindgen不需要特定的类名称,但至少接受一个带前缀的包,以包括这个包的所有类?
bindgen工具不支持指定包含此包的所有类的包前缀(带前缀)。该工具旨在允许Ballerina开发人员通过为库的公共API生成绑定,在其代码中重用现有Java库。通常,您只需要要在Ballerina程序中访问的Java API的完整桥接代码,该工具的默认行为是将其他类作为依赖类。建议使用这种方法以避免增加复杂性和编译时间。

相关问题