【问题标题】:"Plugin with id 'org.xtext.xtend' not found." Error“未找到 ID 为 'org.xtext.xtend' 的插件。”错误
【发布时间】:2018-10-03 03:03:16
【问题描述】:

我正在按照本教程构建语言服务器 https://www.eclipse.org/community/eclipse_newsletter/2017/may/article5.php

但是,当我尝试构建 shadowJar 时,我不断收到此错误:

D:\leaf\org.xtext.example.mydsl1.parent>gradle shadowJar

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\leaf\org.xtext.example.mydsl1.parent\build.gradle' line: 25

* What went wrong:
A problem occurred evaluating root project 'org.xtext.example.mydsl1.parent'.
> Plugin with id 'org.xtext.xtend' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

下面是我的父脚本的 build.gradle 文件

buildscript {
    repositories {
        jcenter()
    }
    plugins {
        id "org.xtext.xtend" version "2.0.1"
    }
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }   
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4'
        classpath "org.xtext:xtext-gradle-plugin:2.0.1"
    }
}

subprojects {
    ext.xtextVersion = '2.16.0-SNAPSHOT'
    repositories {
        jcenter()
        maven {
            url 'https://oss.sonatype.org/content/repositories/snapshots'
        }
    }

    apply plugin: 'java'
    apply plugin: 'org.xtext.xtend'
    apply plugin: 'com.github.johnrengelman.shadow'
    apply from: "${rootDir}/gradle/source-layout.gradle"
    apply from: "${rootDir}/gradle/maven-deployment.gradle"
    apply plugin: 'eclipse'

    group = 'org.xtext.example.mydsl1'
    version = '1.0.0-SNAPSHOT'

    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'

    configurations.all {
        exclude group: 'asm'
    }
}

【问题讨论】:

  • 您是否使用向导创建了构建脚本?
  • 您使用快照 xtext 版本有什么原因吗?
  • 我刚刚尝试了向导创建的内容。那工作得很好。你能用—refresh-dependencies重试吗
  • 它与向导生成的代码一起工作。似乎教程中提供的版本已经过时了。正如我在下面提到的,我还为 shadowjar 添加了一个基本名称。非常感谢!

标签: eclipse xtext gradle-plugin xtend shadowjar


【解决方案1】:

我再次创建了项目并使用了向导创建的代码。我选择语言服务器构建类型为“Fat jar”,因为我的目标是创建一个。除此之外,我将教程中给出的基本名称、分类器和版本添加到自动生成的代码中。 shadowjar(在 .ide 文件夹的 build.gradle 文件中)是我更改的唯一代码部分。因此,我的 shadowjar 代码如下所示:

shadowJar {
    baseName = 'dsl-language-server'
    classifier = null
    version = null
    from(project.convention.getPlugin(JavaPluginConvention).sourceSets.main.output)
    configurations = [project.configurations.runtime]
    exclude('META-INF/INDEX.LIST', 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA','schema/*',
        '.options', '.api_description', '*.profile', '*.html', 'about.*', 'about_files/*',
        'plugin.xml', 'modeling32.png', 'systembundle.properties', 'profile.list')
    classifier = 'ls'
    append('plugin.properties')
}

然后我通过 Windows PowerShell 导航到我的项目的父文件夹并使用命令“gradle shadowjar”构建它。它建得很好! 构建的jar文件可以在.ide目录下的/build/libs/中找到。

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 2016-02-12
    • 2020-12-08
    • 2014-08-03
    • 2014-09-07
    • 2018-04-09
    • 1970-01-01
    相关资源
    最近更新 更多