zoukankan      html  css  js  c++  java
  • Gradle

    使用初始化配置

    (1)场景

    当需要所有的 gradle 项目都进行同样的配置时。

    (2)过程

    1. USER_HOME/.gradle 目录创建名为 init.gradle的文本文件;
    2. init.gradle 编写初始化脚本。

    (3)案例:配置自建的 Maven 私有服务器

    // init.gradle
    allprojects {
     
      ext.RepoConfigurator = {
        maven {
          url 'http://maven-xx-inc.com/repository/maven-public/'
        }
        maven {
          url 'http://nexus.mobisummer-inc.com/nexus/content/groups/public'
        }
      }
     
      buildscript.repositories RepoConfigurator
      repositories RepoConfigurator
    }
    

    排错

    Can't execute jar- file: “no main manifest attribute”

    在 Linux 上运行 jar 包时出现无法执行的错误,原来是没有配置主类,解决方案如下:

    apply plugin: 'java'
    
    jar {
        manifest {
            attributes 'Main-Class': 'com.package.app.Class'
        }
    }
    

    打出的包不包含任何第三方依赖

    解压打出来的 jar 包发现里面没有第三方依赖无法运行,这时候有两种解决方案:

    (1)把第三方的 jar 包收集放到一个 class path 目录,然后就可以正常启动了。不过这种方法很笨,因为现在的依赖都是通过 gradle 或者 maven 引入,手动去找这些 jar 包并放到服务器上的 class path 目录,这很费劲,不过好处是打出的包很小,上传很快。

    (2)使用 shadow 将所有依赖合并成一个 jar 包,这很神奇。

    buildscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"
        }
      }
      dependencies {
        classpath "com.github.jengelman.gradle.plugins:shadow:4.0.3"
      }
    }
    
    apply plugin: 'java'
    apply plugin: "com.github.johnrengelman.shadow"
    
    shadowJar {
      manifest {
        attributes 'Main-Class': 'com.example.Main'
      }
    }
    

    改完 gradle 脚本之后打包命令不再是 ./gradlew assemble 而是用 ./gradlew shadowJar

    写在后面:

    1. 子曰:「学而不思则罔,思而不学则殆」。
    2. 站点地图
    2. 本作品作者为 Lshare,采用知识共享署名 4.0 国际许可协议进行许可。
  • 相关阅读:
    簡化SQL Insert、Update、Delete、Select的方法
    Microsoft SqlHelper Class
    EntLib5.0 日志应用程序块(logging) 使用与配置
    EnterpriseLibrary及Log4Net於WebConfig或AppConfig的相關配置
    LogHelper
    log4net使用详解
    Create\Move\Delte Folder\File
    Log4Net使用详解(续)
    DataSet 类(四)读写XML
    SqlDataAdapter类
  • 原文地址:https://www.cnblogs.com/lshare/p/11334320.html
Copyright © 2011-2022 走看看