首页 > 代码库 > Gradle部署

Gradle部署

Gradle提供了几种部署构建工件(artifacts)存储库的方法

将工件的签名部署到Maven存储库时,还需要签署已发布的POM文件

使用Maven插件发布

Gradle默认提供maven-publish插件。 它用于发布gradle脚本。 看看下面的代码。

apply plugin: ‘java‘
apply plugin: ‘maven-publish‘

publishing {
   publications {
      mavenJava(MavenPublication) {
         from components.java
      }
   }

   repositories {
      maven {
         url "$buildDir/repo"
      }
   }
}
SQL

当应用Java和maven-publish插件时,有几个发布选项。 看看下面的代码,它会将项目部署到远程仓库

  1. apply plugin: ‘groovy‘
  2. apply plugin: ‘maven-publish‘
  3. group ‘workshop‘
  4. version = ‘1.0.0‘
  5. publishing {
  6. publications {
  7. mavenJava(MavenPublication) {
  8. from components.java
  9. }
  10. }
  11. repositories {
  12. maven {
  13. default credentials for a nexus repository manager
  14. credentials {
  15. username ‘admin‘
  16. password ‘mypasswd‘
  17. }
  18. // 发布maven存储库的url
  19. url "http://localhost:8080/nexus/content/repositories/releases/"
  20. }
  21. }
  22. }


将项目从Maven转换为Gradle

有一个特殊的命令用于将Apache Maven pom.xml文件转换为Gradle构建文件,如果此任务已经知道使用的所有Maven插件。

在本节中,以下pom.xmlmaven配置将转换为Gradle项目。创建一个D:/pom.xml并使用下面的代码

  1. <project xmlns = "http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.example.app</groupId>
  7. <artifactId>example-app</artifactId>
  8. <packaging>jar</packaging>
  9. <version>1.0.0-SNAPSHOT</version>
  10. <dependencies>
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.11</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. </project>
可以命令行上使用以下命令,然后生成以下Gradle配置内容。

  1. D:/> gradle init --type pom
  2. Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused,
  3. use --status for details
  4. :wrapper
  5. :init
  6. Maven to Gradle conversion is an incubating feature.
  7. BUILD SUCCESSFUL
  8. Total time: 11.542 secs


init任务依赖于包装器任务,因此它创建了一个Gradle包装器。
生成的build.gradle文件类似于以下内容。

  1. apply plugin: ‘java‘
  2. apply plugin: ‘maven‘
  3. group = ‘com.yiibai.app‘
  4. version = ‘1.0.0-SNAPSHOT‘
  5. description = """"""
  6. sourceCompatibility = 1.5
  7. targetCompatibility = 1.5
  8. repositories {
  9. maven { url "http://repo.maven.apache.org/maven2" }
  10. }
  11. dependencies {
  12. testCompile group: ‘junit‘, name: ‘junit‘, version:‘4.11‘
  13. }


Gradle部署