bazel 学习一 简单java 项目运行

bazel 是一个很不错的软件构建工具,强大,以下是一个简单java 项目的运行

环境准备

  • bazel 安装
    结合自己的操作系统,参考官方文档安装,github 上已经提供了多平台构建好的软件包了
  • java 项目结构

    就是一个标准的maven 项目,暂时没有使用maven 的依赖,只是简单的maven 项目

 
├── BUILD
├── WORKSPACE
└── src
    └── main
        └── java
            └── Application.java
  • 简单说明
    WORKSPACE 是构建项目必须存在的,此项目为空,BUILD 定义了构建说明,src 下边的代码是一个通用的可以使用maven 以及gradle 构建的java
    项目
    Application.java:
public class Application {
  public static void main(String[] args) {
      System.out.println("this is a demo");
  }
}

BUILD

java_binary(                                                  
    name = "java-app",                                     
    srcs = glob(["src/main/java/**/*.java"]),    
    main_class = "Application", 
)

构建

因为bazel 是方便大的单体代码库设计,需要需要制定构建,使用// 代表root 使用:label 代表需要构建的任务

  • 构建命令
bazel build //:java-app
  • 效果

 

 

 


 

 

 

查看构建依赖

  • 命令
bazel query --notool_deps --noimplicit_deps "deps(//:java-app)" --output graph
  • 效果

 

 

 

运行

  • 命令
bazel-bin/java-app

 

 

 

生成可独立运行的软件包

  • 命令
    说明后边的_deploy.jar 是一个约定
bazel build //:java-app_deploy.jar 
  • 效果

 

 

 

  • 生成内容的效果

 

 

  • 运行
    命令
 
java -jar bazel-bin/java-app_deploy.jar

效果

 

 

说明

以上是一个最基本的java 项目的构建,后边会学习下依赖以及复杂项目的构建

参考资料

https://www.bazel.build/
https://github.com/bazelbuild/bazel
https://docs.bazel.build/versions/master/tutorial/java.html

 

posted on   荣锋亮  阅读(2149)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-02-01 Benchmarking Zeebe: An Intro to How Zeebe Scales Horizontally and How We Measure It
2019-02-01 What's New In Zeebe: Scaling Zeebe, New Client APIs, Faster Requests, Timestamps, NodeJS Client, and Default Topic is Back!
2019-02-01 Architecture options to run a workflow engine
2019-02-01 camunda 开源的bpm系统
2019-02-01 zeebe 为微服务架构的工作流引擎
2018-02-01 gradle 项目构建以及发布maven 私服&& docker 私服构建发布
2018-02-01 groovy gradle 构建配置

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示