Bazel build java demo: construire ok mais ne pas exécuter
Je suis nouveau sur bazel et j'ai ce projet de démonstration:
(1)mkdir démo-projet
(2)cd de démo de project
(3)mkdir-p src/main/java/com/demo
(4)vi src/main/java/com/demo/DemoRunner.java
package com.demo;
public class DemoRunner {
public static void main(String args[]) {
Hello.hello();
}
}
(5)vi src/main/java/com/demo/Bonjour.java
package com.demo;
public class Hello {
public static void hello() {
System.out.println("hello,world");
}
}
(6)vi ~ / demo-project / BUILD
java_binary(
name = "hello",
srcs = glob(["**/*.java"]),
main_class = "com.demo.DemoRunner",
)
(7) avec les sections de bazel construire //:bonjour
Starting local Bazel server and connecting to it...
...........
Analyzing: target //:hello (2 packages loaded)
INFO: Analysed target //:hello (15 packages loaded).
INFO: Found 1 target...
Target //:hello up-to-date:
bazel-bin/hello.jar
bazel-bin/hello
INFO: Elapsed time: 60.505s, Critical Path: 1.24s
INFO: 1 process: 1 worker.
INFO: Build completed successfully, 6 total actions
Tout semble OK, mais quand j'ai essayé de
java bazel-bin/hello # Cannot find or load main class bazel-bin.hello
java -jar bazel-bin/hello.jar # Cannot find main list property in bazel-bin/hello.jar
Aucune des deux commandes n'est réussie, car décrit ci-dessus. Donc, après la compilation de bazel, comment puis-je exécuter l'exécutable java?
2
Author: Vertexwahn, 2019-02-05
1 answers
La commande Bazel {[1] } peut être utilisée pour exécuter des cibles spécifiées (voir aussi le commentaire de Bhavik):
bazel run //:hello
1
Author: Vertexwahn, 2019-11-11 19:38:58