Hi all:
I want to use bazel to build java web applications, but when I run bazel build myproj,it shows such error:
$bazel build //myproj
ERROR: /Users/axb-mac/dev/java/workwpace/myproj/BUILD:3:1: every rule of type appengine_war implicitly depends upon the target '@appengine-java//:api', but this target could not be found. If this is an integration test, maybe you forgot to add a mock for your new tool?
ERROR: Loading failed; build aborted.
INFO: Elapsed time: 0.073s
Here's some more information:
$tree ~/dev/java/workwpace
.
├── WORKSPACE
└── myproj
├── BUILD
├── src
│ └── TestServlet.java
└── webapp
└── web.xml
$cat WORKSPACE
load("/tools/build_rules/appengine/appengine", "appengine_repositories")
appengine_repositories()
$cat myproj/BUILD
load("/tools/build_rules/appengine/appengine", "java_war")
java_war(
name = "myproj",
srcs = ["src/TestServlet.java"],
data = glob(["webapp/**"]),
data_path = "webapp",
deps = [
"//external:appengine/java/api",
"//external:javax/servlet/api",
],
)
$bazel version
Build label: 0.1.4
Build target: bazel-out/local_darwin-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Jan 21 12:53:53 2016 (1453380833)
Build timestamp: 1453380833
Build timestamp as int: 1453380833
$java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
OS X version:El Capitan 10.11.3
I just followed the document at:
http://bazel.io/docs/be/appengine.html
I'm not sure if this is the right way to build a 'war' for the tomcat container. Do I miss something?
thanks.