Kafka 可视化管理工具 CMAK 启动错误 -- 命令行太长 问题解决

news2024/11/18 3:26:40

一、安装环境描述:

  • Kafka版本:kafka_2.13-2.8.1
  • cmak 版本:cmak-3.0.0.6
  • 安装环境:windows 11

二、问题描述

当我们在 命令行启动 cmak.bat 命令时,会报如下错误:

命令行太长

三、解决办法

修改 cmak.bat 文件,使用以下配置
修改 APP_CLASSPATH 路径,使用 * 代替原来的全路径

set "APP_CLASSPATH=%APP_LIB_DIR%\..\conf\;%APP_LIB_DIR%\*;"

修改后 cmak.bat 文件 如下:

@REM cmak launcher script
@REM
@REM Environment:
@REM JAVA_HOME - location of a JDK home dir (optional if java on path)
@REM CFG_OPTS  - JVM options (optional)
@REM Configuration:
@REM CMAK_config.txt found in the CMAK_HOME.
@setlocal enabledelayedexpansion
@setlocal enableextensions

@echo off


if "%CMAK_HOME%"=="" (
  set "APP_HOME=%~dp0\\.."

  rem Also set the old env name for backwards compatibility
  set "CMAK_HOME=%~dp0\\.."
) else (
  set "APP_HOME=%CMAK_HOME%"
)

set "APP_LIB_DIR=%APP_HOME%\lib"

rem Detect if we were double clicked, although theoretically A user could
rem manually run cmd /c
for %%x in (!cmdcmdline!) do if %%~x==/c set DOUBLECLICKED=1

rem FIRST we load the config file of extra options.
set "CFG_FILE=%APP_HOME%\CMAK_config.txt"
set CFG_OPTS=
call :parse_config "%CFG_FILE%" CFG_OPTS

rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config.
set _JAVA_OPTS=%JAVA_OPTS%
if "!_JAVA_OPTS!"=="" set _JAVA_OPTS=!CFG_OPTS!

rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments
rem "-J" is stripped, "-D" is left as is, and everything is appended to JAVA_OPTS
set _JAVA_PARAMS=
set _APP_ARGS=

set "APP_CLASSPATH=%APP_LIB_DIR%\..\conf\;%APP_LIB_DIR%\*;"
set "APP_MAIN_CLASS=play.core.server.ProdServerStart"
set "SCRIPT_CONF_FILE=%APP_HOME%\conf\application.ini"

rem Bundled JRE has priority over standard environment variables
if defined BUNDLED_JVM (
  set "_JAVACMD=%BUNDLED_JVM%\bin\java.exe"
) else (
  if "%JAVACMD%" neq "" (
    set "_JAVACMD=%JAVACMD%"
  ) else (
    if "%JAVA_HOME%" neq "" (
      if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
    )
  )
)

if "%_JAVACMD%"=="" set _JAVACMD=java

rem Detect if this java is ok to use.
for /F %%j in ('"%_JAVACMD%" -version  2^>^&1') do (
  if %%~j==java set JAVAINSTALLED=1
  if %%~j==openjdk set JAVAINSTALLED=1
)

rem BAT has no logical or, so we do it OLD SCHOOL! Oppan Redmond Style
set JAVAOK=true
if not defined JAVAINSTALLED set JAVAOK=false

if "%JAVAOK%"=="false" (
  echo.
  echo A Java JDK is not installed or can't be found.
  if not "%JAVA_HOME%"=="" (
    echo JAVA_HOME = "%JAVA_HOME%"
  )
  echo.
  echo Please go to
  echo   http://www.oracle.com/technetwork/java/javase/downloads/index.html
  echo and download a valid Java JDK and install before running cmak.
  echo.
  echo If you think this message is in error, please check
  echo your environment variables to see if "java.exe" and "javac.exe" are
  echo available via JAVA_HOME or PATH.
  echo.
  if defined DOUBLECLICKED pause
  exit /B 1
)

rem if configuration files exist, prepend their contents to the script arguments so it can be processed by this runner
call :parse_config "%SCRIPT_CONF_FILE%" SCRIPT_CONF_ARGS

call :process_args %SCRIPT_CONF_ARGS% %%*

set _JAVA_OPTS=!_JAVA_OPTS! !_JAVA_PARAMS!

if defined CUSTOM_MAIN_CLASS (
    set MAIN_CLASS=!CUSTOM_MAIN_CLASS!
) else (
    set MAIN_CLASS=!APP_MAIN_CLASS!
)

rem Call the application and pass all arguments unchanged.
"%_JAVACMD%" !_JAVA_OPTS! !CMAK_OPTS! -cp "%APP_CLASSPATH%" %MAIN_CLASS% !_APP_ARGS!

@endlocal

exit /B %ERRORLEVEL%


rem Loads a configuration file full of default command line options for this script.
rem First argument is the path to the config file.
rem Second argument is the name of the environment variable to write to.
:parse_config
  set _PARSE_FILE=%~1
  set _PARSE_OUT=
  if exist "%_PARSE_FILE%" (
    FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%_PARSE_FILE%") DO (
      set _PARSE_OUT=!_PARSE_OUT! %%i
    )
  )
  set %2=!_PARSE_OUT!
exit /B 0


:add_java
  set _JAVA_PARAMS=!_JAVA_PARAMS! %*
exit /B 0


:add_app
  set _APP_ARGS=!_APP_ARGS! %*
exit /B 0


rem Processes incoming arguments and places them in appropriate global variables
:process_args
  :param_loop
  call set _PARAM1=%%1
  set "_TEST_PARAM=%~1"

  if ["!_PARAM1!"]==[""] goto param_afterloop


  rem ignore arguments that do not start with '-'
  if "%_TEST_PARAM:~0,1%"=="-" goto param_java_check
  set _APP_ARGS=!_APP_ARGS! !_PARAM1!
  shift
  goto param_loop

  :param_java_check
  if "!_TEST_PARAM:~0,2!"=="-J" (
    rem strip -J prefix
    set _JAVA_PARAMS=!_JAVA_PARAMS! !_TEST_PARAM:~2!
    shift
    goto param_loop
  )

  if "!_TEST_PARAM:~0,2!"=="-D" (
    rem test if this was double-quoted property "-Dprop=42"
    for /F "delims== tokens=1,*" %%G in ("!_TEST_PARAM!") DO (
      if not ["%%H"] == [""] (
        set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
      ) else if [%2] neq [] (
        rem it was a normal property: -Dprop=42 or -Drop="42"
        call set _PARAM1=%%1=%%2
        set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
        shift
      )
    )
  ) else (
    if "!_TEST_PARAM!"=="-main" (
      call set CUSTOM_MAIN_CLASS=%%2
      shift
    ) else (
      set _APP_ARGS=!_APP_ARGS! !_PARAM1!
    )
  )
  shift
  goto param_loop
  :param_afterloop

exit /B 0

修改完成后,在命令行启动 cmak.bat 命令,默认端口为 9000

 .\cmak.bat

在这里插入图片描述

浏览器访问:http://localhost:9000/

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1619608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#设计树形程序界面的方法:创建特殊窗体

目录 1.TreeView控件 2.实例 (1)Resources.Designer.cs (2)Form1.Designer.cs (3)Form1.cs (4)生成效果 以树形来显示程序的菜单,可以更直观、更快捷地对窗体进行…

Python 面向对象——5.多态

本章学习链接如下: Python 面向对象——1.基本概念 Python 面向对象——2.类与对象实例属性补充解释,self的作用等 Python 面向对象——3.实例方法,类方法与静态方法 Python 面向对象——4.继承 1.基本概念 多态是面向对象编程&#x…

【智慧园区、低碳园区】工业园区综合能源管理系统解决方案

安科瑞薛瑶瑶18701709087 ◆行业特点 产业园区是国民经济发展的重要载体, 同时也是重点用能企业聚集地。园区面积大,供电距离远,建筑多且分散,用电负荷种类多,用电负荷不均匀,园区配电结构应整体规划,统一…

Xshell7免费版下载及安装(详细教程)

Xshell7免费版下载及安装(详细教程) 一、下载及安装 1.打开官网下载 https://www.xshell.com/zh/free-for-home-school/ 2.选择合适的下载路径 点击下载按钮 开始下载 3.下载完成后 我们双击打开.exe文件 点击下一步 4.点击我同意 点击下一步 5.选择合…

第九讲 - Java面向对象

第九讲 - Java面向对象 文章目录 第九讲 - Java面向对象1. 类和对象1.1 类和对象的理解1.2 类的定义1.3 对象的使用1.4 学生对象-练习 2. 对象内存图2.1 单个对象内存图2.2 多个对象内存图 3. 成员变量和局部变量3.1 成员变量和局部变量的区别 4. 封装4.1 封装思想4.2 private关…

IIS中搭建.Net Core项目,步骤详解

一、准备服务器 1)安装IIS 这个比较简单,百度一下就行 2)安装 .NET Core 运行时 下载地址:下载 .NET(Linux、macOS 和 Windows) 因为我是本地开发,所以我下载的是SDK 安装成功之后显示如下: 检查是否安装…

浏览器兼容模式怎么设置?4个提升网页兼容性秘笈分享!

“不知道怎么回事,我打开浏览器的时候总是显示浏览器不兼容,是什么情况呢?我应该怎么操作才能解决这个问题呀?” 浏览器兼容模式是一种使浏览器能够更好地显示网页内容、提高网页加载速度并减少错误的功能。 不同浏览器设置兼容模…

探索HSE化工安全系统在化工生产中的作用

在现代工业化生产中,化工企业扮演着至关重要的角色,但与此同时,化工安全问题也备受关注。为了保障生产环境的安全,HSE化工安全系统应运而生。本文将详细介绍HSE化工安全系统的功能和优势,让您深入了解其在工业生产中的…

ISPLSI1032E-100LT 封装TQFP100 LATTICE/莱迪斯 IC芯片

ISPLSI1032E-100LT 规格信息: 封装:TQFP 逻辑门数量:6000 含铅标准:Lead free RoHS标准:Compliant 产品生命周期:Not Recommended ISPLSI1032E-100LT 是 Lattice Semiconductor 公司生产的一款 Complex Programmable Logic Device (CPLD),中文称为复…

AIGC技术:行业应用案例与未来可能性深度解析

随着人工智能技术的飞速发展,AIGC(人工智能生成内容)技术正日益成为引领内容创作与智能应用的新引擎。在当下,AIGC技术已经取得了一系列令人瞩目的成果,而在未来,它更将展现出无限的可能性,为人…

FebHost:.DE域名能否用于多个市场的国际网站?

.DE德国域名可用于面向多个市场的国际网站,但重要的是要考虑有效的国际搜索引擎优化的影响和策略。下面介绍在这种情况下如何利用 .DE 域名: 本地信任和信誉: .DE 域名可以向用户和搜索引擎表明,您的网站是为德国市场量身定制的。…

面对亚马逊FBA仓附加费上涨,卖家如何破局前行?

跨境电商的发展势头强劲,不仅为消费者带来了更多元化的购物选择,也为卖家提供了更广阔的市场空间,跨境物流作为连接生产与消费的重要桥梁,其成本对于卖家而言,已成为影响竞争力的关键因素之一。然而,从五月…

嵌入式4-23 C++

值不能改变 语法错误 指向地址不能改变 值和地址都不能改变 值不能改变 地址不能改变 都不能改变

【漏洞复现】卡车卫星定位系统 /user/create接口处存在未授权密码重置漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Golang | Leetcode Golang题解之第46题全排列

题目: 题解: func permute(nums []int) [][]int {var (n len(nums)dfs func(vals []int) // 已选择数 排列为vals 后续回溯继续选择 直至选完ans [][]int)dfs func(vals []int) {//边界if len(vals) n {ans append(ans, vals)}//转移 枚举选哪个f…

聚观早报 | 百度地图V20正式发布;OPPO K12细节曝光

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月24日消息 百度地图V20正式发布 OPPO K12细节曝光 Meta宣布开放VR系统 三星 Galaxy Ring提供多种尺寸 Redmi …

计算机网络学习笔记(七):网络安全

目录 7.1 网络安全问题概述 7.1.1 计算机网络面临的安全性威胁 7.1.2 安全的内容 7.1.3 数据加密模型 7.2 两类密码体制 7.2.1 对称密钥密码体制(对称加密、加密密钥和解密密钥相同) 7.2.2 公钥/公开密钥密码体制(非对称加密、加密密钥…

数据可视化———Tableau

基本认识: 维度:定性—字符串文本,日期和日期时间等等 度量:定量—连续值,一般属于数值 数据类型: 数值 日期/日期时间 字符串 布尔值 地理值 运算符 算数运算符:加减乘除,%取余,…

如何在Facebook上发布广告?

在广告管理工具中创建广告 创建广告系列和广告组。在广告名称文本框中输入描述性名称。选择代表您业务的Facebook 公共主页和Instagram 帐户。 所有广告都必须具有关联的Facebook 公共主页。选择广告格式。 选择素材。 您可能还会看到其他选项,具体取决于您先前所做…

论文| Visual Place Recognition: A Tutorial

本文是有关 VPR 的第一篇教程文章(提供每个功能模块的开源代码)。涵盖了 VPR 问题的表述、通用算法pipeline、评估方法、主要挑战及其解决方法等主题。