gradle:更改默认端口 5005

2023-11-23

我想调试一些同时运行的 JVM 实例。我知道我可以使用 gradle 运行--debug-jvm这样 JVM 就会等待,直到我启动 IDE 调试器,以便它连接到 JVM,但默认使用端口 5005。这对于调试 JVM 的一个实例来说很好……但是如果我想调试多个实例,我需要定义一个与 5005 不同的端口。我如何使用 gradle 实现这一目标?


就我而言,我想调试特定文件,因此我在中包含了以下代码build.gradle:

task execFile(type: JavaExec) {
    main = mainClass

    classpath = sourceSets.main.runtimeClasspath
    
    if (System.getProperty('debug', 'false') == 'true') {
        jvmArgs "-Xdebug", "-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=y"
    }

    systemProperties System.getProperties()
}

我可以运行:

gradle execFile -PmainClass=com.MyClass -Dmyprop=somevalue -Ddebug=true

习俗execFile任务接收:

  • -PmainClass=com.MyClass:具有我要执行的主要方法的类(在脚本中,main = mainClass)
  • -Dmyprop=somevalue:在应用程序调用中检索其值的属性System.getProperty("myprop")(在脚本中,systemProperties System.getProperties()为此需要)
  • -Ddebug=true:在端口 8787 上启用调试的标志(在脚本中,请参阅if条件,还有address=8787,但端口可以更改,并且该标志名称也可以更改)。使用suspend=y执行被挂起,直到调试器连接到端口(如果您不希望这种行为,您可以使用suspend=n)

对于您的用例,您可以尝试应用该行背后的逻辑jvmArgs ...到您的特定任务(或使用tasks.withType(JavaExec) { ... }适用于该类型的所有任务)。

使用此解决方案时,请勿使用--debug-jvm选项,因为您可能会收到有关该属性的错误jdwp被定义两次。

更新(2020-08-10)

确保代码仅在我执行任务时运行execFile明确地(例如,为了在我刚刚构建 gradle 时不运行),我将代码更改为:

task execFile {
    dependsOn 'build'

    doLast {
        tasks.create('execFileJavaExec', JavaExec) {
            main = mainClass
            classpath = sourceSets.main.runtimeClasspath

            if (System.getProperty('debug', 'false') == 'true') {
                jvmArgs "-Xdebug", "-agentlib:jdwp=transport=dt_socket,address=*:8787,server=y,suspend=y"
            }

            systemProperties System.getProperties()
        }.exec()
    }
}

更多信息请访问:仅在专门调用时运行 gradle 任务

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gradle:更改默认端口 5005 的相关文章

  • SWT:如何进行高质量图像调整大小

    我的应用程序需要调整 ImageData 的大小 不幸的是 我还没有通过 GC 开启抗锯齿和高插值 或 ImageData scaledTo 获得我想要的结果 生成的图像质量太低 无法接受 进行高质量 ImageData 调整大小的最佳方法
  • 单击链接时如何将另一个 JSP 页面注入到

    我在一个JSP页面中有两个不同的部分 其中一个包含链接菜单 单击时 div2 id content 会相应加载不同的页面 我正在做类似的事情 div ul class navbar li a href Login jsp Login a l
  • 将倒计时器从 10 秒改为 1 秒

    我有一个倒计时器 它以 1 秒的增量从 10000 毫秒倒计时到 0 毫秒 以使按钮在 10 秒后可单击 尽管计时器是准确的并且按照代码的说明执行操作 但我想更改秒的表示方式 但我不知道如何更改 java void startTimer c
  • 如何在Java中使用我的密码加密和解密字符串(PC而非移动平台)? [复制]

    这个问题在这里已经有答案了 我想加密一个字符串然后将其放入文件中 当我想要的时候也想解密它 我不需要很强的安全性 我只是想让其他人更难获取我的数据 我尝试了几种方法 这是这些 Md5加密 如何在 Android 中对字符串进行哈希处理 ht
  • 如何通过两跳 SSH 隧道使用 JProfiler

    我正在尝试将 JProfiler 连接到在我将调用的服务器上运行的 JVMremote 该服务器只能从我的工作站访问 local 通过我将调用的另一台服务器middle 我的计划是将 JProfiler 连接到remote是这样的 安装 J
  • 如何将 Cucumber 中的数据表转换为对象列表?

    原标题 Java 中的 Cucumber DataTables 中的标量是什么意思 From 参考 Java 提供了几种标量类型 这些包括原始数字 类型 加上布尔值和字符 每个标量 原始 类型都有一个关联的包装类或 参考类型 阅读javad
  • 打印数组时出错

    我得到这个代码 import java util import java io public class Oblig3A public static void main String args OrdAnalyse O new OrdAna
  • 枚举内的枚举

    这不是我被卡住的问题 而是我正在寻找一种简洁的方式来编写我的代码 本质上 我正在编写一个事件驱动的应用程序 用户触发事件 事件被发送到适当的对象 然后对象处理事件 现在我正在编写偶数处理程序方法 我希望使用 switch 语句来确定如何处理
  • 在Java中读取制表符分隔的文件

    我有以下代码来读取 Java 中的制表符分隔文件 while str in readLine null if str trim length 0 continue String values str split t System out p
  • JaCoCo 具有微服务项目架构?

    我的项目由 6 个 Java 微服务组成 我试图弄清楚如何将 Jacoco 的 html 报告合并到一份整体覆盖率报告中 就目前情况而言 我最终为每项服务提供了一份报告 如果能有一份汇总报告就好了 这样我就可以更轻松地将其放入我们的 CI
  • 无法在 .js 文件内命中断点

    我升级到 win 8 现在我在管理员权限下运行 VS 2012 并在 MVC 4 中创建一个网站 我在线检查了不同的解决方案 但没有一个有效 我的解决方案中有一个 javascript 文件 但是当我在其中放置断点时 在运行时我看到 没有为
  • 如何将点击侦听器添加到 Android/Java Textview 中的字符串中?

    我想要完成的是大多数 Twitter 应用程序中的标准操作 在文本视图中 文本字符串中的单词前面可能有 提及或 主题标签 并且它们实际上能够添加点击侦听器这个词启动了另一项活动 有谁知道这是如何实现的 下面我附上了一张示例照片 显示了我想要
  • Java J文件选择器

    我希望能够控制外观JFileChooser 我特别想保存如何JFileChooser上次显示时显示 我想保存它是否在详细信息 列表视图中使用以及列表被排序的列 例如 大小或修改日期 我知道有很多关于JFileChooser但我一直没能找到我
  • 最终类中的静态函数是否隐式最终?

    我的问题基本上与this https stackoverflow com q 8766476 3882565一 但这是否也适用于static功能 我想了解 编译器是否处理所有static函数在一个final类为final 是否添加final
  • 如何使 Visual Studio 仅在未处理的异常时中断?

    在我的其他机器上 当没有 try catch 来处理错误时 Visual Studio 总是会因错误而中断 但如果有 try catch 则它不会中断 由于某种原因 在这台笔记本电脑上 它不能以这种方式工作 一开始它根本没有中断 但后来我发
  • 在仔细锁定但不受信任的代码上使用 Thread.stop()

    我知道Thread stop 已被弃用 并且有充分的理由 它通常不安全 但这并不意味着它是never安全 据我所知 在我想要使用它的上下文中它是安全的 而且 据我所知 我别无选择 上下文是一个两人策略游戏的第三方插件 以国际象棋为例 第三方
  • 如何在 Java 中读取/转换 InputStream 为字符串?

    如果你有一个java io InputStream对象 您应该如何处理该对象并生成一个String 假设我有一个InputStream包含文本数据 我想将其转换为String 例如我可以将其写入日志文件 最简单的方法是什么InputStre
  • 当 javadoc 未附加到依赖项时,如何将 javadoc 引用到 Maven 的 eclipse 插件中的依赖项

    我在开发中使用 Eclipse Maven 和 Java 我使用 Maven 下载依赖项 jar 文件和 javadoc 如果可用 并使用 Maven 的 eclipse 插件为 Eclipse 生成 project 和 classpath
  • 如何在 iText 7 中创建页面大小不等的文档

    如何在 iText 7 中创建页面大小不等的文档 iText7 可以吗 在iText5中 我使用document setPageSize and document newPage 如果您通过高级 API 添加内容 Document add
  • 如何在 VSCode 中热重载 Tomcat 服务器

    我正在从 Eclipse IDE VSCode 分别用于编码 Java servlet 和 HTML CSS JS 网页 迁移到仅使用 Visual Studio Code 因为它的轻量级 我为 VSCode 安装了几个 Java 扩展 R

随机推荐

  • 是否可以在 JavaScript 中包含 HTML 代码?

    我有一个基本问题 我可以在 JS 中包含 HTML 代码吗 和document write 这是我的 HTML 代码 li a href class menulink text a li li a href class menulink t
  • 如何使用 Javascript 或 jQuery 突出显示页面上所有出现的单词?

    我有一个关键字列表 然后是页面上包含这些关键字的句子列表 我想让关键字列表可点击 当用户单击关键字时 该关键字的所有出现都会在句子中突出显示 我如何使用 jQuery 或原始 Javascript 来做到这一点 我能想到的唯一方法是用一个包
  • Windows 7 SWT 表选定行突出显示颜色

    有没有办法在 Windows 7 的 Aero 主题中设置 SWT 表 FULL SELECTION 样式 突出显示行的背景颜色 它似乎是从表格背景颜色派生出来的 较浅的颜色 但除此之外 我似乎对使用什么颜色没有太多控制权 这对我们来说是一
  • 节点:使用 crypto.randomBytes 生成 6 位随机数

    从中生成精确值的正确方法是什么0 to 999999随机地从1000000不是2的幂吗 这是我的方法 use crypto randomBytes生成 3 个字节并转换为hex 使用前 5 个字符转换为整数 最大值为fffff 104857
  • 如何缩小TFS数据库大小

    我们有一个TFS2010环境 长期以来 其规模每周都在增长 我们删除了很多旧的分支和团队项目 我们还在几个项目中使用了测试附件清理器 就像 Brian Harry 在他的帖子中所说的那样 http blogs msdn com b bhar
  • 在 MySQL 中重置 AUTO_INCRMENT 需要很长时间

    ALTER TABLE tablename AUTO INCREMENT 10000000 此查询需要很长时间才能更新 为什么 我需要优化这个查询 ALTER TABLE 会导致整个表的重建 如果您的表包含许多行 这可能需要很长时间 如果您
  • rubyGems 环境中的“用户安装目录”是什么

    这是我的 RubyGems 环境 红宝石版本 2 5 2 Ruby 版本 2 2 2 2015 04 13 补丁级别 95 x86 64 darwin14 安装目录 Users wh026399 rvm gems ruby 2 2 2 用户
  • 表单的 InvokeRequired == false 和包含控件的 InvokeRequired == true

    这怎么可能 我有 Windows 窗体控件 派生自 System Windows Forms Form 该窗体中包含 WebBrowser 控件 Webbrowser 对象实例是在表单的构造函数中创建的 在 InitializeCompon
  • 使用 Firebase App Check 不起作用(调试)

    在实施 Firebase 的新应用程序检查功能时 我无法解决此问题 将文件上传到 Firebase 存储时失败并出现错误 引起原因 java io IOException 错误 代码 401 消息 Firebase应用程序检查令牌无效 我已
  • Laravel 查询生成器 WHERE NOT IN

    我有以下 sql 查询 SELECT FROM exams WHERE exams id NOT IN SELECT examId FROM testresults 如何将其转换为 Laravel 查询生成器格式 Thanks 您可以使用w
  • node.js require() 缓存 - 可能无效吗?

    来自node js文档 模块在第一次加载后会被缓存 这意味着 除其他外 每次调用 require foo 将得到完全相同的返回对象 如果它解析为同一个文件 有没有办法让这个缓存失效 即对于单元测试 我希望每个测试都在一个新的对象上进行 即使
  • C++ unordered_set 向量

    我可以在 C 中创建向量的 unordered set 吗 像这样的东西 std unordered set
  • 如果没有参数,则针对标准输入运行的脚本;否则输入文件=ARGV[0]

    这工作得很好 只是想知道是否有任何改进可以缩短它 if ARGV 0 nil then input lt else input File new ARGV 0 r end Do something with the input here f
  • 如何建立关系模型(类似 GitHub)权限?

    tl dr 我如何实现像 例如 github 的权限模型 更新以尝试解决 philipxy 的一些评论 我计划实现一个类似于 github 的权限模型 users 用户可以分组 用户可以在组织中 团体可以在组织中 a user will b
  • 如何在java中创建代理

    他们如何创建代理class在Java中 他们是根据需要创建代理还是创建代理并永远保留它 您可以通过两种基本方式创建代理 使用JDK机制 通过接口 看一眼java lang reflect Proxy 在具体类上使用一些字节码生成 操作库 看
  • SQL:使用 UNION、ORDER BY 和 LIMIT 进行 SELECT

    我收到的错误是 ORDER by 应该出现在 UNION 之后 但我希望这些查询在合并为 1 之前排序 然后限制为 10 SELECT FROM SELECT time x y z FROM db WHERE time gt now ORD
  • 图像处理中的标准化

    图像处理中归一化的正确含义是什么 我用谷歌搜索了它 但我有不同的定义 我将尝试详细解释每个定义 核矩阵的归一化 如果归一化是指矩阵 例如卷积滤波器的核矩阵 通常将矩阵的每个值除以矩阵的值的总和 以使矩阵的值的总和等于1 如果所有值都大于零
  • 一次性设置所有 UITextField 的样式,而不是在每个 ViewController 中设置样式?

    我正在尝试像这样设置所有文本字段的样式 CGRect frameRect2 lastname field frame frameRect2 size height 30 lastname field font UIFont fontWith
  • 使用 EL 获取列表或数组中的特定元素

    是否可以在 Java EE 页面 Facelets 或 JSP 中使用 EL 获取列表或数组中的特定元素 或者我是否必须创建自定义 EL 方法 您可以使用大括号表示法 其中您指定要检索的元素的 从零开始的 索引 p This is the
  • gradle:更改默认端口 5005

    我想调试一些同时运行的 JVM 实例 我知道我可以使用 gradle 运行 debug jvm这样 JVM 就会等待 直到我启动 IDE 调试器 以便它连接到 JVM 但默认使用端口 5005 这对于调试 JVM 的一个实例来说很好 但是如