Я новичок в Базеле, и у меня есть этот демо-проект и файл BUILD:
package com.demo;
public class Hello {
public static void hello() {
System.out.println("hello,world");
}
}
(1) mkdir src / main / java / com / demo, тогда у меня есть
DemoRunner.java:
package com.demo;
public class DemoRunner {
public static void main(String args[]) {
Hello.hello();
}
}
Hello.java
package com.demo;
public class Hello {
public static void hello() {
System.out.println("hello,world");
}
}
Затем я запускаю:
bazel build //:hello
bazel build //:HelloTest
Не удалось найти библиотеку:
java -classpath bazel-bin/hello.jar com.demo.DemoRunnerException in thread
"main" java.lang.NoClassDefFoundError: com/demo/Hello
at com.demo.DemoRunner.main(DemoRunner.java:4)
Caused by: java.lang.ClassNotFoundException: com.demo.Hello
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Я использовал команду "find" для поиска файлов ".class", но ничего не нашел.Я использую файл «jar» для проверки hello.jar, я обнаружил, что существует только «класс DemoRunner», но отсутствует «класс Hello»:
jar tvf bazel-bin/hello.jar
0 Fri Jan 01 00:00:00 CST 2010 META-INF/
68 Fri Jan 01 00:00:00 CST 2010 META-INF/MANIFEST.MF
0 Fri Jan 01 00:00:00 CST 2010 com/
0 Fri Jan 01 00:00:00 CST 2010 com/demo/
466 Fri Jan 01 00:00:02 CST 2010 com/demo/DemoRunner.class
Итак, где я ошибся, как я мог построитьмой библиотечный файл и заставить его работать?Но, кстати, где bazel хранит все файлы классов, которые выводит javac?