首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用编译后的Groovy脚本和GMavenPlus插件

使用编译后的Groovy脚本和GMavenPlus插件
EN

Stack Overflow用户
提问于 2022-04-01 08:39:22
回答 2查看 254关注 0票数 0

我试图使用GMavenPlus PluginMaven运行一些已经编译并打包成jarGroovy脚本。

这个脚本非常简单:

代码语言:javascript
复制
package foo.bar.scripts

import groovy.transform.Field

@Field
private static final String JAVA_VERSION_PROPERTY_NAME = 'java.version'
@Field
private static final String MAVEN_COMPILER_RELEASE_PROPERTY_NAME = 'maven.compiler.release'

def javaVersion = project.properties[JAVA_VERSION_PROPERTY_NAME]?.trim()
if(javaVersion?.isInteger() && javaVersion.toInteger() >= 9) {
    project.properties[MAVEN_COMPILER_RELEASE_PROPERTY_NAME] = javaVersion
}

然后我引用如下:

代码语言:javascript
复制
<plugin>
                <groupId>org.codehaus.gmavenplus</groupId>
                <artifactId>gmavenplus-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>scripts</artifactId>
                        <version>${project.version}</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>adjust-compiler-settings</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <scripts>
                                <script>foo.bar.scripts.AdjustCompilerSettings.main()</script>
                            </scripts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

根据文档,默认情况下,project变量应该是可用的,如果我以内联方式定义脚本,而不是从jar中选择脚本,这确实是正确的。我有办法通过这样的物体吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-11 10:19:03

我没有找到解决这个问题的办法,但我找到了解决办法。也就是说,将Groovy源代码打包为jar,发布它们,然后让Maven下载它们(使用maven-dependency-plugin),让gmavenplus-plugin调用这些源代码。

不是最好的解决方案,但它有效:)

票数 0
EN

Stack Overflow用户

发布于 2022-04-01 10:41:21

基于给定的事物:

代码语言:javascript
复制
   <profile>
      <id>javac-release</id>
      <activation>
        <jdk>[9,)</jdk>
      </activation>
      <properties>
        <maven.compiler.release>8</maven.compiler.release>
      </properties>
    </profile>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71704097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档