我想在Ballerina中使用Java Kubernetes API Client。
this,this和this我都读过。
基于Java的依赖关系的唯一问题是这个。
如果以后需要这些类中的一个,可以重新运行Bindgen工具来生成Ballerina绑定的完整实现。
- 我如何重新运行它?使用与
bal bindgen
初始运行相同的CLI选项? - 我如何告诉已经存在的Kubernetes客户端Java绑定,这些依赖关系是为它们准备的?
- 我如何告诉
bal bindgen
用每个依赖项的新bal bindgen
结果填充存根依赖类? - 我如何告诉
bal bindgen
不需要特定的类名,但至少接受一个带有通配符的包前缀,以包含该包的所有类?
这是我运行的bal bindgen
CLI行。
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
运行的输出。
Resolving maven dependencies...
Updated the `Ballerina.toml` file with the new platform libraries.
The following JARs were added to the classpath:
slf4j-api-2.0.6.jar
google-http-client-gson-1.42.3.jar
google-auth-library-credentials-1.16.0.jar
guava-31.0.1-android.jar
accessors-smart-2.4.2.jar
oauth2-oidc-sdk-9.4.jar
nimbus-jose-jwt-9.8.1.jar
error_prone_annotations-2.16.jar
bcutil-jdk18on-1.72.jar
content-type-2.1.jar
google-auth-library-oauth2-http-1.16.0.jar
okhttp-4.10.0.jar
commons-lang3-3.12.0.jar
commons-collections4-4.4.jar
gson-fire-1.8.5.jar
httpcore-4.4.15.jar
simpleclient_common-0.15.0.jar
j2objc-annotations-1.3.jar
opencensus-api-0.31.1.jar
javax.annotation-api-1.3.2.jar
commons-codec-1.15.jar
client-java-proto-18.0.1.jar
annotations-13.0.jar
lang-tag-1.5.jar
json-smart-2.4.2.jar
logging-interceptor-4.10.0.jar
okio-jvm-3.0.0.jar
httpclient-4.5.13.jar
adal4j-1.6.7.jar
listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
client-java-api-18.0.1.jar
kotlin-stdlib-jdk8-1.6.10.jar
commons-logging-1.2.jar
jcip-annotations-1.0-1.jar
simpleclient_tracer_otel_agent-0.15.0.jar
commons-io-2.11.0.jar
swagger-annotations-1.6.9.jar
simpleclient_tracer_common-0.15.0.jar
asm-8.0.1.jar
bcpkix-jdk18on-1.72.jar
simpleclient_tracer_otel-0.15.0.jar
google-http-client-1.42.3.jar
client-java-18.0.1.jar
simpleclient_httpserver-0.15.0.jar
jose4j-0.9.3.jar
checker-qual-3.12.0.jar
opencensus-contrib-http-util-0.31.1.jar
kotlin-stdlib-common-1.5.31.jar
bcprov-jdk18on-1.72.jar
gson-2.10.1.jar
failureaccess-1.0.1.jar
kotlin-stdlib-1.6.20.jar
auto-value-annotations-1.10.1.jar
jsr305-3.0.2.jar
protobuf-java-3.22.0.jar
simpleclient-0.15.0.jar
checker-compat-qual-2.5.5.jar
grpc-context-1.27.2.jar
kotlin-stdlib-jdk7-1.6.10.jar
commons-compress-1.22.jar
snakeyaml-2.0.jar
Generating bindings for:
java.util.Map
java.io.FileInputStream
org.yaml.snakeyaml.Yaml
java.io.InputStream
java.lang.Object
Generating dependency bindings for:
org.yaml.snakeyaml.introspector.BeanAccess
java.util.function.BiFunction
org.yaml.snakeyaml.DumperOptions$FlowStyle
org.yaml.snakeyaml.constructor.BaseConstructor
java.util.function.Function
java.lang.Iterable
org.yaml.snakeyaml.DumperOptions
org.yaml.snakeyaml.nodes.Node
java.util.function.BiConsumer
org.yaml.snakeyaml.resolver.Resolver
java.io.OutputStream
java.util.Map$Entry
java.util.Iterator
java.util.Collection
java.util.Set
org.yaml.snakeyaml.LoaderOptions
java.io.Reader
org.yaml.snakeyaml.nodes.Tag
java.io.File
java.util.List
java.io.FileDescriptor
java.io.Writer
org.yaml.snakeyaml.representer.Representer
java.lang.Class
org.yaml.snakeyaml.TypeDescription
java.util.regex.Pattern
java.nio.channels.FileChannel
型
1条答案
按热度按时间nr7wwzry1#
我该如何重新运行它?
如果你需要重新运行bindgen命令来生成一个或多个依赖类的完整实现,如这里所提到的,你可以通过运行初始命令并在最后附加新的类来完成。该工具将在必要时替换修改后的绑定文件。
我如何告诉已经存在的Kubernetes客户端Java绑定,这些依赖关系是为它们准备的?
在重新运行命令后,您不需要显式地将新生成的依赖项绑定链接到已经存在的依赖项绑定。如上所述,工具会在重新生成过程中自动处理它。
我如何告诉bal bindgen用每个依赖项的新bal bindgen结果填充存根依赖项类?
为此,您必须在bindgen命令中显式地手动指定每个依赖类(您希望为其生成完整实现)的限定名。
我如何告诉bal bindgen不需要特定的类名称,但至少接受一个带前缀的包,以包括这个包的所有类?
bindgen工具不支持指定包含此包的所有类的包前缀(带前缀)。该工具旨在允许Ballerina开发人员通过为库的公共API生成绑定,在其代码中重用现有Java库。通常,您只需要要在Ballerina程序中访问的Java API的完整桥接代码,该工具的默认行为是将其他类作为依赖类。建议使用这种方法以避免增加复杂性和编译时间。