`
dwangel
  • 浏览: 267363 次
社区版块
存档分类
最新评论

在groovy中获取script的文件全路径

阅读更多

Groovy的windows脚本中,设定-Dscript.name为script的全路径。

不过,在groovy的网站上查到一个bug报告,似乎linux脚本中对这个值的设定跟windows下的不一致。

如果为了保险,干脆自己改造启动脚本好了。

 

windows下,实际的处理在startGroovy.bat中。

找到 set GROOVY_SCRIPT_NAME=%~f1

在后面加上

set GROOVY_SCRIPT_FILE=%~f1
set GROOVY_SCRIPT_PATH=%~dp1

找到 set JAVA_OPTS=%JAVA_OPTS% -Dscript.name="%GROOVY_SCRIPT_NAME%"

加上

set JAVA_OPTS=%JAVA_OPTS% -Dscript.file="%GROOVY_SCRIPT_FILE%"

set JAVA_OPTS=%JAVA_OPTS% -Dscript.path="%GROOVY_SCRIPT_PATH%\"

 

%GROOVY_SCRIPT_PATH%后的 '\' 是为了避免路径结束的 '\'跟 " 组合 变成 \"的转义。 

 

明白了windows下 %~f1是取第一个参数的文件全路径。

%~dp1 是取第一参数的盘符加路径。 (改变最后的数字,就是不同的参数)

1
0
分享到:
评论

相关推荐

    Jenkins自动化部署获取svn二级目录

    Jenkins自动化部署获取svn二级目录,Jenkins部署教程和动态获取svn路径教程

    groovy集成springboot动态执行

    在上面的代码中,`executeScript`方法接收一个Groovy脚本文件的路径,然后解析并运行该脚本。 另一种动态执行Groovy的方式是通过数据库存储脚本。这种方式通常适用于需要根据业务需求动态改变执行逻辑的情况。你...

    Grails结合uploadify上传文件的简单代码

    这通常涉及到在`build.gradle`或`Config.groovy`文件中添加对应的依赖。对于uploadify,由于它是一个前端组件,你需要将它的JavaScript和CSS文件下载到项目的公共资源目录,如`web-app/js`和`web-app/css`。确保这些...

    Grails使用FCK Editor(附源码,有截图)

    最后,确保在Grails应用的配置文件中,允许静态资源的访问,以便FCK Editor的JavaScript文件能够正常加载: ```groovy grails.resources.mappings = { '/js/*' { resource(dir: 'js', includes: '*.js') } } ```...

    Gradle User Guide

    - 使用方法:介绍如何在构建脚本中使用Groovy方法。 - 默认任务:定义哪些任务作为构建的默认入口点。 - DAG配置:通过依赖图(DAG)来配置任务的执行顺序。 - 接下来:构建完成后可以继续探索的其他知识点。 5...

    java开源包7

    3、连接复用,因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换...

    android调用lua方法

    在Android Studio的`build.gradle`文件(Module级别)中添加SLua的依赖库。SLua通常通过JitPack仓库提供,添加以下依赖: ```groovy allprojects { repositories { maven { url 'https://jitpack.io' } } } ``` ...

    SoapUI Pro Indroduction

    - **Groovy脚本(Groovy Script)**:利用Groovy或JavaScript编写测试逻辑。 - **属性(Properties)**:用于存储和管理测试过程中使用的变量。 - **数据源(DataSource)**:提供测试数据来源,如文件、Excel表单等。 - ...

    gradle 用户指南

    - **无缝集成:** Groovy与Java无缝集成,能够在同一项目中混合使用Groovy和Java代码。 - **表达能力强:** Groovy语法简洁明了,非常适合用于编写构建脚本。 #### 二、入门教程 **3.1 入门** - **快速上手:** ...

    GradleUserGuide

    在故障排除(Troubleshooting)方面,文档为用户提供了处理问题(Working through problems)和寻求帮助(Getting help)的途径,这对于解决在安装和使用Gradle过程中遇到的问题至关重要。 构建脚本基础(Build ...

    jBPM 帮助文档,帮助文档

    用户在安装过程中需要确保正确配置了所有必要的库文件。 **2.2 Tomcat部署** 对于希望将jBPM部署在Tomcat服务器上的用户,需要按照官方提供的指导进行操作,例如添加jBPM相关的jar文件到Tomcat的lib目录等。 **...

    JDK1.6 API帮助文档

    6. **Scripting API**: `javax.script`包允许在Java应用程序中嵌入脚本引擎,支持JavaScript、Groovy等脚本语言。 7. **XPath API**: 支持XML文档的查询,通过`javax.xml.xpath`包可以对XML数据进行高效处理。 8. ...

    jedis-2.9.0.jar

    要在Java项目中使用Jedis 2.9.0,你需要将对应的jar文件(如`jedis-2.9.0.jar`)添加到类路径中。如果你使用的是Maven或Gradle,可以将以下依赖添加到你的构建文件: **Maven:** ```xml <groupId>redis.clients ...

    浅谈idea live template高级知识_进阶(给方法,类,js方法添加注释)

    - 脚本可以在模板变量部分编写,例如`groovyScript("def methodName=\"${_1}\"; def result='*@Method:'+methodName+'\\n'; return result;")`会提取第一个模板变量的值,并构建注释行。 4. **模板变量详解** - *...

    java开源包1

    3、连接复用,因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换...

    java开源包11

    3、连接复用,因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换...

    java开源包2

    3、连接复用,因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换...

    java开源包3

    3、连接复用,因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换...

Global site tag (gtag.js) - Google Analytics