`

gradle 基础配置java工程

阅读更多

JAVA APP配置 build.gradle:

// builg.gradle update by wangqingsong on 20160711
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'

group = "com.greatwqs"
version = "1.0-SNAPSHOT"
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

repositories {
   mavenLocal()
   maven {
      // 私有仓库
      credentials {
         username 'admin'
         password 'password'
      }
      url "http://xxxxxxxxxxx:8081/nexus/content/groups/public/"
   }
   mavenCentral()
}

// 上传至中央仓库
uploadArchives {
   repositories {
      mavenDeployer {
         mavenLocal()
      }
   }
}

dependencies {
   compile "net.paoding:rose:1.2.2-SNAPSHOT"
   compile "net.paoding:rose-jade:1.2.2-SNAPSHOT"
   compile "org.slf4j:slf4j-log4j12:1.7.12"
   compile "com.google.guava:guava:18.0"
   compile "sslext:sslext:1.10-4"
   compile "org.json:json:20140107"
   compile "commons-beanutils:commons-beanutils:1.7.0"
   compile "com.google.code.gson:gson:2.2.4"
   compile "org.jsoup:jsoup:1.7.3"
   compile "org.apache.httpcomponents:httpclient:4.5.1"
   compile "org.apache.httpcomponents:httpclient-cache:4.5.1"
   compile "commons-httpclient:commons-httpclient:3.0.1"
   compile "dom4j:dom4j:1.6.1"
   compile "org.apache.commons:commons-lang3:3.3.2"
   compile "com.google.guava:guava:18.0"
   compile "redis.clients:jedis:2.7.2"
   compile "joda-time:joda-time:2.7"
   compile "com.thoughtworks.xstream:xstream:1.4.8"
   compile "xpp3:xpp3:1.1.4c"
   compile "xmlpull:xmlpull:1.1.3.1"
   compile "commons-codec:commons-codec:1.10"
   compile "commons-logging:commons-logging:1.1.3"
   compile "org.aspectj:aspectjweaver:1.6.9"
   compile fileTree(dir: 'libs', include: '*.jar')
}

// 导出项目中所有的jar到exported-libs目录, 用于部署时配置libs
task copyJars(type: Copy) {
   from configurations.runtime
   into 'exported-libs' 
}

// 创建maven风格的项目目录;
task "create-project-dirs" << {
   sourceSets*.java.srcDirs*.each { it.mkdirs() }
   sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}

 JAVA WEB 配置 build.gradle:

// builg.gradle 
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'war'

group = "com.greatwqs"
version = "1.0-SNAPSHOT"
sourceCompatibility = 1.7

eclipse.classpath.defaultOutputDir = file('src/main/webapp/WEB-INF/classes')
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
sourceSets.main.resources.srcDir 'src/main/resources'
sourceSets.test.resources.srcDir 'src/test/resources'
sourceSets.main.java.srcDir 'src/main/java'
sourceSets.test.java.srcDir 'src/test/java'
 
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

repositories {
   mavenLocal()
   maven {
      credentials {
         username 'admin'
         password 'passwod'
      }
      url "http://xxxxxxxxx:8081/nexus/content/groups/public/"
   }
   mavenCentral()
}

// 上传至中央仓库
uploadArchives {
   repositories {
      mavenDeployer {
         mavenLocal()
      }
   }
}

dependencies {
   compile "org.slf4j:slf4j-log4j12:1.7.12"
   compile "com.google.guava:guava:18.0"
   compile "sslext:sslext:1.10-4"
   compile "org.json:json:20140107"
   compile "commons-beanutils:commons-beanutils:1.7.0"
   compile "com.google.code.gson:gson:2.2.4"
   compile "org.jsoup:jsoup:1.7.3"
   compile "org.apache.httpcomponents:httpclient:4.5.1"
   compile "org.apache.httpcomponents:httpclient-cache:4.5.1"
   compile "commons-httpclient:commons-httpclient:3.0.1"
   compile "dom4j:dom4j:1.6.1"
   compile "org.apache.commons:commons-lang3:3.3.2"
   compile "com.google.guava:guava:18.0"
   compile "redis.clients:jedis:2.7.2"
   compile "joda-time:joda-time:2.7"
   compile "com.thoughtworks.xstream:xstream:1.4.8"
   compile "xpp3:xpp3:1.1.4c"
   compile "xmlpull:xmlpull:1.1.3.1"
   compile "commons-codec:commons-codec:1.10"
   compile "commons-logging:commons-logging:1.1.3"
   compile "commons-fileupload:commons-fileupload:1.3.3"
   compile fileTree(dir: 'libs', include: '*.jar')
   //系统提供的依赖
   providedCompile(
      "javax.servlet:javax.servlet-api:3.1.0",
      "javax.servlet.jsp:jsp-api:2.2.1-b03",
      "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1"
   )
}

// 导出项目中所有的jar到exported-libs目录, 用于部署时配置libs
task copyJars(type: Copy) {
   from configurations.runtime
   into 'exported-libs'
}

// 创建maven风格的项目目录;
task "create-project-dirs" << {
   sourceSets*.java.srcDirs*.each { it.mkdirs() }
   sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}

说明:

1. 创建maven 风格的项目目录: gradle create-project-dirs

2. 导出项目中所有的jar到exported-libs目录: gradle copyJars

分享到:
评论

相关推荐

    使用Gradle 构建spring Boot工程系列项目源码(配合第五篇文章)

    1. **Gradle基础**:Gradle是一种灵活且强大的构建自动化工具,它支持多种编程语言,如Java、Groovy和Kotlin。它的核心特性包括基于DSL(领域特定语言)的构建脚本、依赖管理、插件系统以及可扩展性。 2. **Spring ...

    使用gradle构建Spring源码工程需要的Spring-chlib-repack-3.2

    在IT行业中,构建Java应用程序时,我们经常使用构建工具来自动化构建过程,如Maven或Gradle。本主题聚焦于使用Gradle构建Spring源码工程,特别是与`Spring-chlib-repack-3.2`相关的知识。这个特殊版本的Spring库是...

    基于SpringBoot的Gradle工程

    **二、Gradle基础** Gradle是一种灵活的、基于Groovy的构建工具,它允许开发者通过声明式的方式来定义项目构建过程。相比于Maven,Gradle提供了更好的性能和更强大的依赖管理。Gradle支持插件机制,可以轻松集成...

    gradle构建

    1. **Gradle基础**:包括Gradle的基本概念,如项目、任务和依赖管理。Gradle的项目结构由一系列相互关联的模块构成,每个模块可以定义自己的任务,这些任务用于执行特定的构建操作,如编译、测试和打包。依赖管理则...

    Gradle混淆_打包Jar包基础DEMO

    本示例聚焦于“Gradle混淆_打包Jar包基础DEMO”,它涉及到两个核心概念:Gradle混淆和使用Gradle打包Java应用程序为Jar包。 首先,让我们深入了解一下Gradle混淆。混淆是在Android开发中常用来保护代码安全、减小...

    Gradle-Guide-Book

    - **Java工程任务**:针对Java项目的特定任务。 - **Android任务**:专门针对Android项目的任务,如打包、签名等。 - **自定义构建**:包括自定义构建任务、配置选项等。 - **Manifest选项**:配置...

    gradle多模块开发

    "gradle多模块开发"这个主题涉及到如何有效地管理和构建多个相互依赖的子项目,形成一个整体的工程结构。下面我们将深入探讨这一主题。 首先,让我们理解Gradle的基本概念。Gradle是一个基于Groovy语言的开源构建...

    gradle用户手册中文版

    - **Project**: 在Gradle中,一个项目是一个或多个任务的集合,通常对应于一个软件工程中的子项目。 - **Task**: 是一个独立的工作单元,例如编译源代码、运行测试等。 2. **Hello World示例** - Gradle提供了...

    Gradle混淆+打包Jar包基础

    在Java项目中,我们需要在`build.gradle`文件中配置`jar`任务。首先,定义`jar`任务,然后可以设置其属性,如主类、资源文件等: ```groovy jar { manifest { attributes 'Main-Class': 'com.example.Main' } ...

    gradle_java_experiments:各种gradle java实验的容器项目

    通过这个"gradle_java_experiments"项目,开发者可以深入学习Gradle的配置和使用,以及如何在实际项目中利用Java的特性。这不仅有助于提升个人技能,也为团队协作和项目管理提供了一个实践平台。对于想要深入了解...

    springboot+mybatis-plus+gradle+mysql+swagger基础增删改查、树形查询

    本项目基于一系列技术栈,包括Spring Boot、MyBatis Plus、Gradle、MySQL和Swagger,实现了一个基础的增删改查(CRUD)功能,并提供了树形查询的能力。下面将详细介绍这些技术及其在项目中的应用。 **1. Spring ...

    java工程师优秀简历50多份

    - **Maven/Gradle**:项目构建工具的使用,管理和依赖管理。 3. **数据库**: - **SQL**:熟练编写SQL查询语句,理解索引、事务、存储过程等高级特性。 - **关系型数据库(MySQL、Oracle等)**与**NoSQL数据库...

    gradle2.1demo教程

    在 "gradle2.1Demo" 项目中,你可以实践上述概念,创建一个简单的 Java 应用程序,配置构建脚本,添加依赖,运行编译和测试任务。通过这个 demo,你可以更好地理解 Gradle 2.1 的工作原理和优势。 总之,Gradle 2.1...

    gradle-files-2.1

    4. **多项目构建**:Gradle支持多个子项目构成的大型工程,2.1版本在此基础上优化了项目的配置和编译顺序,使得多项目间的依赖关系处理更加顺畅。 5. **命令行接口**:Gradle的命令行接口在2.1中得到增强,新增了...

    通过 IntelliJ IDEA 创建一个简易的Java工程并导入Jar包

    在IT行业中,IntelliJ IDEA是一款非常流行的Java集成开发环境(IDE)...在实际工作中,根据具体的项目需求,你可能还需要配置构建工具(如Maven或Gradle)来自动化管理和导入依赖,但本文已覆盖了基础的手动导入方法。

    JAVA高级工程师知识图谱_JAVA工程师知识图谱_java图谱_知识图谱_

    1. **JAVA语法**:理解基础的JAVA语法规则,包括数据类型、运算符、流程控制(如if-else,switch,循环)和异常处理。 2. **面向对象编程**:掌握类、对象、继承、封装、多态等核心OOP概念。 3. **集合框架**:深入...

    gradle的2.14.1版本

    10. **多项目构建**:对于包含多个子项目的大型工程,Gradle 2.14.1提供了更高效的多项目构建支持,可以跨项目共享配置和任务。 综上所述,Gradle 2.14.1版本是一个集性能提升、用户体验优化和功能增强于一体的更新...

    gradle-6.2.2-all.zip和gradle-6.2.2-bin.zip

    对于初学者,理解Gradle的基础概念和核心功能,以及如何配置和使用Gradle,是掌握现代Java或Android开发的关键技能之一。而对有经验的开发者来说,深入学习Gradle的高级特性,如插件开发和自定义任务,可以帮助他们...

    gradle-1.9-all.zip 最新版 刚翻抢下载的

    Gradle 使用基于Groovy的领域特定语言(DSL)来编写构建脚本,这使得构建配置更加灵活和易于理解。在您提供的压缩包"gradle-1.9-all.zip"中,我们看到的是Gradle 1.9版本,这是一个较早的版本,但依然包含了许多核心...

Global site tag (gtag.js) - Google Analytics