• Gradle Maven部署,转化


    参考:(易百教程)http://www.yiibai.com/gradle/gradle_deployment.html

    目录:

    Gradle部署:

    cmd>gradle build会将现有的项目打包到build->libs下。

    Gradle Maven部署:

            Gradle默认提供maven-publish插件。 它用于发布gradle脚本。

      本地部署:

    apply plugin: 'maven-publish'
    
    publishing {
       publications {
          mavenJava(MavenPublication) {
             from components.java
          }
       }
    
    repositories {
          maven {
            url "D:/Repository/maven/"
          }
       }
    }

      私服部署:

    apply plugin: 'maven-publish'
    
    publishing {
       publications {
          mavenJava(MavenPublication) {
             from components.java
          }
       }
    
    repositories {
          maven {
            
             credentials {
                username 'admin'
                password 'admin111'
             }
             // 发布maven存储库的url
             url "http://192.168.1.91:8084/nexus/content/repositories/MavenTest"
          }
       }
    }

    cmd> gradle publish

    Maven转化为Gradle:

      gradle有个maven转化的命令

      cmd>  gradle init --type pom (注意:一定要是两个中划线)

      转化前的pom.xml

    pom
      1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      3   <modelVersion>4.0.0</modelVersion>
      4   <groupId>com.web.mt</groupId>
      5   <artifactId>MavenWeb</artifactId>
      6   <packaging>war</packaging>
      7   <version>1.0.0</version>
      8   <name>MavenWeb Maven Webapp</name>
      9   <url>http://maven.apache.org</url>
     10   <properties>
     11     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     12       <junit-version>3.8.1</junit-version>
     13     <spring-version>5.0.0.RELEASE</spring-version>
     14     <jstl-version>1.2</jstl-version>
     15     <logback-version>1.2.3</logback-version>
     16   </properties>
     17   <repositories>
     18       <repository>
     19           <id>MavenTest</id>
     20           <name>MavenTest Snap</name>
     21           <snapshots>
     22               <enabled>true</enabled>
     23           </snapshots>
     24           <url>http://127.0.0.1:8081/nexus/content/repositories/MavenTest/</url>
     25       </repository>
     26   </repositories>
     27   <dependencies>
     28   
     29   <dependency>
     30    <groupId>com.denny.mt</groupId>
     31    <artifactId>MavenTest</artifactId>
     32    <version>1.0-SNAPSHOT</version>
     33   </dependency>
     34   
     35   
     36     <dependency>
     37       <groupId>junit</groupId>
     38       <artifactId>junit</artifactId>
     39       <version>${junit-version}</version>
     40       <scope>test</scope>
     41     </dependency>
     42     
     43 <dependency>
     44          <groupId>ojdbc</groupId>
     45          <artifactId>ojdbc</artifactId>
     46          <scope>system</scope>
     47          <version>6</version>
     48          <systemPath>${basedir}srclibojdbc-6.jar</systemPath>
     49 </dependency>
     50     
     51     
     52     <dependency>
     53         <groupId>org.springframework</groupId>
     54         <artifactId>spring-core</artifactId>
     55         <version>${spring-version}</version>
     56         <exclusions>
     57             <exclusion>
     58                 <artifactId>spring-jcl</artifactId>
     59                 <groupId>org.apache.commons.logging</groupId>
     60             </exclusion>
     61         </exclusions>
     62     </dependency>
     63     <dependency>
     64         <groupId>org.springframework</groupId>
     65         <artifactId>spring-webmvc</artifactId>
     66         <version>${spring-version}</version>
     67     </dependency>
     68     <dependency>
     69         <groupId>org.springframework</groupId>
     70         <artifactId>spring-web</artifactId>
     71         <version>${spring-version}</version>
     72     </dependency>
     73     <dependency>
     74         <groupId>ch.qos.logback</groupId>
     75         <artifactId>logback-classic</artifactId>
     76         <version>${logback-version}</version>
     77     </dependency>
     78     <dependency>
     79         <groupId>jstl</groupId>
     80         <artifactId>jstl</artifactId>
     81         <version>${jstl-version}</version>
     82     </dependency>
     83   </dependencies>
     84   <build>
     85     <finalName>MavenWeb</finalName>
     86     <plugins>
     87         <plugin>
     88             <groupId>org.apache.maven.plugins</groupId>
     89             <artifactId>maven-compiler-plugin</artifactId>
     90             <version>2.3.2</version>
     91             <configuration>
     92                 <source>1.8</source>
     93                 <target>1.8</target>
     94             </configuration>
     95         </plugin>
     96         <plugin>
     97             <groupId>org.apache.tomcat.maven</groupId>
     98             <artifactId>tomcat7-maven-plugin</artifactId>
     99             <version>2.2</version>
    100             <configuration>
    101                 <path>/MavenWeb</path>
    102             </configuration>
    103           </plugin>
    104                       <!-- Eclipse project -->
    105           <plugin>
    106             <groupId>org.apache.maven.plugins</groupId>
    107             <artifactId>maven-eclipse-plugin</artifactId>
    108             <version>2.9</version>
    109             <configuration>
    110                     <!-- Always download and attach dependencies source code -->
    111                 <downloadSources>true</downloadSources>
    112                 <downloadJavadocs>false</downloadJavadocs>
    113                 <!-- Avoid type mvn eclipse:eclipse -Dwtpversion=2.0 -->
    114                 <wtpversion>2.0</wtpversion>
    115             </configuration>
    116           </plugin>
    117           
    118     </plugins>
    119   </build>
    120   <distributionManagement>
    121   <repository>
    122     <id>MavenTestPub</id>
    123     <url>http://192.168.1.91:8081/nexus/content/repositories/MavenTestPub</url>
    124   </repository>
    125    <snapshotRepository>
    126     <id>MavenTest</id>
    127     <url>http://192.168.1.91:8081/nexus/content/repositories/MavenTest</url>
    128   </snapshotRepository>
    129 </distributionManagement>
    130 </project>

      转化后的build.gradle

    apply plugin: 'java'
    apply plugin: 'maven'
    
    group = 'com.web.mt'
    version = '1.0.0'
    
    description = """MavenWeb Maven Webapp"""
    
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    tasks.withType(JavaCompile) {
    	options.encoding = 'UTF-8'
    }
    
    
    
    repositories {
            
         maven { url "http://127.0.0.1:8081/nexus/content/repositories/MavenTest/" }
         maven { url "http://repo.maven.apache.org/maven2" }
    }
    dependencies {
        compile group: 'com.denny.mt', name: 'MavenTest', version:'1.0-SNAPSHOT'
        compile(group: 'org.springframework', name: 'spring-core', version:'5.0.0.RELEASE') {
    exclude(module: 'spring-jcl')
        }
        compile group: 'org.springframework', name: 'spring-webmvc', version:'5.0.0.RELEASE'
        compile group: 'org.springframework', name: 'spring-web', version:'5.0.0.RELEASE'
        compile group: 'ch.qos.logback', name: 'logback-classic', version:'1.2.3'
        compile group: 'jstl', name: 'jstl', version:'1.2'
        testCompile group: 'junit', name: 'junit', version:'3.8.1'
        system group: 'ojdbc', name: 'ojdbc', version:'6'
    }
    build.gradle

    运行:

      报错,本地配置的jar在转化后,不能被识别  

    system group: 'ojdbc', name: 'ojdbc', version:'6'
    ------------------------------------------------
    Could not find method system() for arguments

    修改为:

        compile files('src/lib/ojdbc-6.jar')

    本地其它平级项目嵌入:

    settings.gradle文件:

      includeFlat 'MavenTest'

    build.gradle文件:

      compile project(":MavenTest")

    执行gradle build即可打成想要的jar包。

    appPlugin 'java'   --build会打成jar包

    appPlugin 'war'   --build会打成war包

    appPlugin 'maven'   --build会打成pom包

  • 相关阅读:
    MySQL中的MRR和BKA
    MySQL中的BNL优化器
    MySQL中索引
    MySQL中的两种排序方式: index和filesort
    设计模式之观察者模式
    设计模式之策略模式
    设计模式之模板方法
    java和JavaScript的区别
    HTML 简介--from app (W3)
    与代码同行-五年计划
  • 原文地址:https://www.cnblogs.com/DennyZhao/p/7737856.html
Copyright © 2020-2023  润新知