前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gradle、maven项目配置jar输出指定位置

gradle、maven项目配置jar输出指定位置

作者头像
Lcry
发布2023-05-19 15:55:02
1.2K0
发布2023-05-19 15:55:02
举报
文章被收录于专栏:Lcry个人博客Lcry个人博客

通常情况下,我们项目在通过Gitlab做CICD部署的时候,运维会统一让我们把需要部署的java编译后的jar包文件重命名并且拷贝到项目根目录下的deploy/app.jar,然后就统一引用一个构建脚本,目前我们项目组gralde和maven项目都有,基本上都是通过插件实现拷贝重命名到指定位置,当然gradle直接写脚本就可以简单拷贝,下面给出一些配置参考,仅做备忘。

maven项目

pom.xml合适的位置引入,然后编译项目看是否成功。

代码语言:javascript
复制
<build>
  <finalName>app</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <outputDirectory>../deploy</outputDirectory>
        <excludes>
          <exclude>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
          </exclude>
        </excludes>
      </configuration>
    </plugin>
  </plugins>
</build>

回顾Maven的六类属性

  1. POM属性:定义在Maven项目POM文件中的属性,例如groupID、artifactID、version等。
  2. 系统属性:定义在操作系统中的属性,例如JAVA_HOME、M2_HOME等。
  3. 环境属性:定义在操作系统的环境变量中的属性,例如PATH、JAVA_HOME等。
  4. Maven属性:由Maven自动设置的属性,例如project.build.directory、project.basedir等。
  5. Java系统属性:通过 JVM 中-D参数传递的属性,例如java.home、user.home等。
  6. 命令行属性:通过命令行参数传递的属性,例如-DpropertyName=value。

常用属性如下:

  • ${basedir}:项目的根目录(包含pom.xml文件的目录),
  • ${version}:项目版本
  • ${project.build.sourceDirectory}:项目的主源码目录,默认为 src/main/java
  • ${project.build.testSourceDirectory}:项目的测试源码目录,默认为 src/test/java
  • ${project.build.directory}:项目构件输出目录,默认为 target/
  • ${project.outputDirectory}:项目主代码编译输出目录,默认为 target/classes/
  • ${project.testOutputDirectory}:项目测试代码编译输出目录,默认为 target/test-classes/
  • ${project.groupId}:项目的 groupId
  • ${project.artifactId}:项目的 artifactId

Gradle项目

build.gradle合适的位置引入,然后斌阿姨项目看是否成功。

代码语言:javascript
复制
task copyAndRenameJarToDeploy(type: Copy) {
    delete "${rootDir}/deploy/"
    from("${buildDir}/libs/${project.name}-${version}.jar")
    into("${rootDir}/deploy/")
    rename("${project.name}-${version}.jar", "app.jar")
}
assemble.finalizedBy(copyAndRenameJarToDeploy)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • maven项目
  • Gradle项目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档