`

Gradle 之插件 gretty 入门

 
阅读更多

英文来源:  http://akhikhl.github.io/gretty-doc/Getting-started.html

 

在你的app应用的 "build.gradle" 中加入:

 

apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'

 大功告成! 现在你可以使用以下命令启动你的web-app;

 

 

gradle appRun

你也可以使用其他 Gretty tasks (Gretty 任务) 来运行和调试你的web-app 或者根据你的需求 configure Gretty  (配置Gretty).

又或者, 你可以从以下URL下载脚本并放置在项目文件夹下并这样把它包括进来:

https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin 

 

apply from: 'gretty.plugin'
 又或者轻松随意地把如下脚本加入你的 "build.gradle":

 

 

buildscript {
  repositories {
    jcenter()
    // enable this to use snapshot versions of Gretty:
    // maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
  }

  dependencies {
    classpath 'org.akhikhl.gretty:gretty:+'
  }
}

repositories {
  jcenter()
  // enable this to use snapshot versions of Gretty:
  // maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
}

apply plugin: 'org.akhikhl.gretty'
 

 使用gretty来运行jetty: gradle appRun

 

apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
targetCompatibility = 1.8
version = "1.0"
ext {
    springVersion = "3.2.8.RELEASE"
}
repositories{
	mavenCentral()
}
[compileJava,compileTestJava,javadoc]*.options*.encoding = "gbk"
dependencies{
    compile "org.apache.struts:struts2-core:2.1.8.1"
    providedCompile "javax.servlet:javax.servlet-api:3.1.0"
    providedCompile "javax.servlet.jsp:jsp-api:2.2.1-b03"
    testCompile "junit:junit:4.11"
}
 

 

使用Gradle 官方jetty插件来运行jetty(目前仅支持到jetty6, 不支持 jetty7, 8, 9):  gradle jettyRunWar

apply plugin:"war"
apply plugin:"jetty"
targetCompatibility = 1.8
version = "1.0"
ext {
    springVersion = "3.2.8.RELEASE"
}
repositories{
	mavenCentral()
}
[compileJava,compileTestJava,javadoc]*.options*.encoding = "gbk"
dependencies{
    compile "org.apache.struts:struts2-core:2.1.8.1"
    providedCompile "javax.servlet:javax.servlet-api:3.1.0"
    providedCompile "javax.servlet.jsp:jsp-api:2.2.1-b03"
    testCompile "junit:junit:4.11"
}
jettyRun{
    webAppSourceDirectory file("$projectDir/src/main/webapp")
    httpPort 8080
    contextPath project.name
    scanIntervalSeconds 0
    reload "automatic"
}

 

使用Maven的命令来在jetty中运行web应用:  mvn jetty:run

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.lyq.action</groupId>
    <artifactId>e14_3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>e14_3</name>

    <properties>
        <struts2.version>2.3.16.3</struts2.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>${struts2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-config-browser-plugin</artifactId>
            <version>${struts2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-junit-plugin</artifactId>
            <version>${struts2.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.5</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>8.1.7.v20120910</version>
                <configuration>
                    <stopKey>CTRL+C</stopKey>
                    <stopPort>8999</stopPort>
                    <systemProperties>
                        <systemProperty>
                            <name>log4j.configuration</name>
                            <value>file:${basedir}/src/main/resources/log4j.properties</value>
                        </systemProperty>
                        <systemProperty>
                            <name>slf4j</name>
                            <value>false</value>
                        </systemProperty>
                    </systemProperties>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <webAppSourceDirectory>${basedir}/src/main/webapp/</webAppSourceDirectory>
                    <webAppConfig>
                        <contextPath>/e14_3</contextPath>
                        <descriptor>${basedir}/src/main/webapp/WEB-INF/web.xml</descriptor>
                    </webAppConfig>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                        <version>1.2.17</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>

 

 

注意
所有gretty的发布版本均在 jcenter 和 maven central. GroupId:  org.akhikhl.gretty.
注意
gretty的快照版本在jfrog artifactory
重要

如果你初学gretty遇到问题, 请先查看 troubleshooting 一节.

如果无效, 请提出一个问题在 Gretty issue tracker 或电邮 send an email 给 Gretty 开发人员.

0
0
分享到:
评论

相关推荐

    Gradle配置Gretty插件所需的两个文件(build.gradle、gretty.plugin)

    本篇文章将深入探讨如何配置Gradle以使用Gretty插件,并详细解析相关的`build.gradle`和`gretty.plugin`文件。 首先,让我们了解Gretty插件的基本概念。Gretty是一款基于Gradle的插件,它能够方便地在IDE内或命令行...

    gradle的gretty插件使用例子

    **Gradle的Gretty插件使用详解** 在Java开发中,构建工具的选择至关重要,而Gradle因其强大的灵活性和可扩展性备受青睐。Gretty插件是Gradle中的一个神器,它使得在Gradle中运行和测试Web应用变得轻而易举。本篇...

    AndroidStudio自定义Gradle插件

    要测试自定义Gradle插件,可以使用`./gradlew tasks`命令来运行插件的任务,或者通过`apply false`来防止插件在开发阶段自动应用,便于单独测试插件的代码。 总结,自定义Gradle插件是Android Studio项目构建过程中...

    Android Gradle 插件中文指南

    google推出了全新的Android Studio集成开发环境,其中Android项目的结构与Eclipse的Android项目结构有很大的区别,原因就在于两开发环境使用的构建工具不同...对应Android项目的Gradle插件就是Android Gradle Plugin。

    Android studio 配置gradle 2.3.1 插件所需pom、jar文件

    总结起来,配置Android Studio的Gradle插件2.3.1涉及到对`build.gradle`文件的修改,指定Gradle插件版本,以及理解`gradle-3.2.1.jar`和`gradle-3.2.1.pom`在构建过程中的作用。`gradle-3.2.1.jar`是执行构建任务的...

    Android studio 配置gradle 2.3.3 插件所需pom、jar文件

    在Android开发过程中,Android Studio是官方推荐的集成开发环境(IDE),它基于IntelliJ IDEA。Gradle是一种灵活且强大...随着Android生态系统的不断发展,及时更新和适配新的Gradle版本也是开发者必须关注的任务之一。

    Android studio 配置gradle 2.2.2 插件所需pom、jar文件

    当您需要配置Android Studio以使用特定版本的Gradle插件时,例如2.2.2版本,您会遇到如标题和描述中提到的pom和jar文件。 1. **Gradle插件与版本管理**: Gradle插件是Gradle系统中可复用的构建逻辑单元,它们负责...

    Android studio 配置gradle 2.2.3 插件所需pom、jar文件

    总的来说,`gradle-2.2.3.jar`和`gradle-2.2.3.pom`文件是Android Studio配置Gradle插件不可或缺的部分,它们分别提供了Gradle插件的执行逻辑和依赖管理信息。理解这些文件以及如何配置和使用Gradle,对于高效地进行...

    Gradle 加固插件,

    Gradle 加固插件是用于优化和增强软件项目构建过程的一种工具,特别是在Android开发中,它可以帮助开发者执行一些安全和性能相关的操作。Gradle作为一款强大的自动化构建工具,以其灵活性和可扩展性著称,而加固插件...

    Android studio 配置gradle 2.3.0 插件所需pom、jar文件

    总的来说,配置Android Studio以使用Gradle 2.3.0插件涉及修改项目配置、同步项目、处理pom和jar文件,以及应用Gradle插件以利用新特性。这个过程虽然看似繁琐,但却是确保项目顺利构建和运行的关键步骤。理解并熟练...

    Intellij Idea 插件Gradle配置Demo

    Gradle的任务系统是其强大之处。你可以定义自定义任务来执行特定操作,如打包、测试或部署。例如,创建一个新任务: ```groovy task customTask(type: Copy) { from 'src/resources' into 'build/output' } `...

    自定义Gradle插件

    在Android开发中,Gradle是默认的构建工具,它提供了强大的灵活性和可扩展性,使得开发者可以自定义自己的插件来满足特定需求。本篇将深入探讨如何自定义Gradle插件,以及如何通过插件修改编译后的class文件和监控...

    gradle的jetty插件使用例子

    **Gradle Jetty 插件使用详解** 在Java Web开发中,Jetty是一个轻量级、高性能的HTTP服务器和Servlet容器,它支持多种部署方式,包括作为嵌入式服务器使用。Gradle,作为现代的构建工具,提供了丰富的插件生态系统...

    gradle的war插件使用例子

    War插件是Gradle的核心插件之一,主要负责处理Java Web应用的构建流程。它提供了许多任务,如`war`用于创建WAR文件,`installWar`则用于将WAR文件安装到本地Maven仓库。通过应用`war`插件,我们可以自定义构建过程,...

    Gradle自定义插件.7z

    为了满足特定项目需求,开发者有时会创建自定义插件,以扩展Gradle的功能。本篇文章将深入探讨Gradle自定义插件的生成,并结合相关的博客内容进行详细描述。 一、Gradle插件的类型 Gradle插件主要分为两种类型:...

    通过自定义Gradle插件修改编译后的class文件

    自定义Gradle插件是Gradle的强大特性之一,可以扩展其功能以满足特定项目需求。本篇将详细介绍如何通过自定义Gradle插件来修改编译后的class文件。 首先,理解自定义Gradle插件的基本概念。Gradle插件本质上是一些...

    如何使用Android Studio开发Gradle插件(一)

    在Android开发领域,Gradle是主流的构建工具,而自定义Gradle插件则能极大地提升项目的构建效率和灵活性。本文将深入探讨如何使用Android Studio开发Gradle插件,主要分为以下几个方面: 1. **Gradle插件基础** - ...

Global site tag (gtag.js) - Google Analytics