Don';在Jenkins上运行时,无法查看所有gradle任务

Don';在Jenkins上运行时,无法查看所有gradle任务,jenkins,gradle,Jenkins,Gradle,我正在做一个xtext项目,将Gradle作为一个构建系统。我想在Jenkins中运行GradlewWar,但是,由于某些原因,它不可用。当我运行gradlew tasks查看所有可用选项时,它没有列在那里。以下是可用的任务: Build Setup tasks ----------------- init - Initializes a new Gradle build. wrapper - Generates Gradle wrapper files. Help tasks -------

我正在做一个
xtext
项目,将Gradle作为一个构建系统。我想在Jenkins中运行
GradlewWar
,但是,由于某些原因,它不可用。当我运行
gradlew tasks
查看所有可用选项时,它没有列在那里。以下是可用的任务:

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Help tasks
----------
buildEnvironment - ...
...
但是,当我在本地计算机上运行它时,可以执行的任务要多得多:

Build tasks
-----------
...
war - Generates a war archive with all the compiled classes, the web-app content and the libraries.

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

Help tasks
----------
...

IDE tasks
---------
...

Run tasks
---------
jettyRun - Starts an example Jetty server with your language

Verification tasks
------------------
check - Runs all checks.
test - Runs the unit tests.
所以
war
任务显然就在那里,我可以毫无问题地运行它。为什么詹金斯没有看到呢。我没有修改任何Gradle文件。所有代码都包含与项目一起创建的默认代码。如果需要,我可以附加任何Gradle文件,但我不知道需要哪一个。但这是主
build.gradle
文件(子目录中有更多:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.xtext:xtext-gradle-plugin:2.0.4'
    }
}

subprojects {
    ext.xtextVersion = '2.17.0'
    repositories {
        jcenter()
    }

    apply plugin: 'java'
    dependencies {
        compile platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
    }

    apply plugin: 'org.xtext.xtend'
    apply from: "${rootDir}/gradle/source-layout.gradle"
    apply plugin: 'eclipse'

    group = 'ic.ac.uk.mydsl'
    version = '1.0.0-SNAPSHOT'

    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'

    configurations.all {
        exclude group: 'asm'
    }
}
编辑: git repo中我的父目录的图像:

您确定从Jenkins上的同一目录和本地运行
/gradlew tasks
吗?如果从根项目目录运行Gradle命令,则将显示根项目的任务,但不会显示子项目的任何任务。您的根项目似乎没有应用任何插件,只有子项目才这样做。Conseq通常,根项目上不会有任何特定于插件的任务,如
war

是否确实从Jenkins上的同一目录和本地运行
/gradlew tasks
?如果从根项目目录运行Gradle命令,则将显示根项目的任务,但不会显示子项目的任何任务ts。您的根项目似乎没有应用任何插件,只有子项目才应用。因此,在您的根项目上不会有任何特定于插件的任务,如
war

我非常确定我是在同一个目录中执行的,因为我搜索了我的项目,只有一个gradlew文件,所以我认为不可能运行它从不同的目录。我如何从Jenkins的子目录运行任务?因为在本地,它似乎会自动从子目录找到任务?我非常确定我是在同一个目录中运行的,因为我搜索了我的项目,只有一个gradlew文件,所以我认为不可能从不同的目录运行它是的。我如何从Jenkins中的子目录运行任务?因为它似乎是自动从子目录找到任务的。你确定你在向导中配置了web项目吗?如果是,war插件将应用于.web项目,因此war将在任务中可用。那么你确定你已经提交了所有内容吗?(例如,设置梯度)很抱歉,我不知道向导是什么。但是,我在帖子中附加了我的git repo的图像。这看起来不错。但我不知道为什么它不应该工作。我已经看过100次了,它总是工作的。=>没有访问复制示例:不知道。=>它与hello world mydsl示例一起工作吗?我要尝试一下我的c创建了一个新项目,但没有修改任何内容,jenkins上的“gradlew tasks”仍然返回相同的列表,没有“war”任务。您确定在向导中配置了web项目吗?如果是,war插件将应用于.web项目,因此任务中可以使用war。那么您确定已提交所有内容吗?(例如,设置gradle)很抱歉,我不知道向导是什么。但是,我在帖子中附加了我的git repo的图像。这看起来不错。但我不知道为什么它不应该工作。我已经看过100次了,它总是工作的。=>没有访问复制示例:不知道。=>它与hello world mydsl示例一起工作吗?我要尝试一下我的c创建了一个新项目,没有修改任何内容,但jenkins上的“gradlew tasks”仍然返回相同的列表,没有“war”任务。