java - 如何在我的 java 程序中的 powershell 脚本或 cmd 中设置密钥库路径?
问题描述
我们使用 CMD 调用 Powershell 脚本。在 powershell 脚本中,调用了一个 Java 程序。两个文件都在同一个目录中。在该目录中还有一个可用的密钥库文件 (zzzz.keystore),Java 程序需要使用该文件。我知道这可以通过 -Djavax.net.ssl.trustStore=
我使用了许多设置路径的方法,但它们都返回错误:“找不到或加载主类 .net.ssl.trustStore=zzzz.keystore”
这是在Windows系统上。我不确定是否必须在 cmd 中设置一些调用 powershell 脚本以使其工作的内容。请指教。
我发现了这个问题:java SSL and cert keystore,但没有在 windows 中设置路径的明确示例。我已经使用这些方法在 powershell 脚本中添加路径,但没有一个起作用:
& java -Djavax.net.ssl.trustStore=zzzz.keystore com.router.router.router.Router
& java -Djavax.net.ssl.trustStore="zzzz.keystore" com.router.router.router.Router
& java -Djavax.net.ssl.trustStore="C:/path/to/file/zzzz.keystore" com.router.router.router.Router
& java -Djavax.net.ssl.trustStore="C://path//to//file//zzzz.keystore" com.router.router.router.Router
& java -Djavax.net.ssl.trustStore="C:\\path\\to\\file\\zzzz.keystore" com.router.router.router.Router
& java -Djavax.net.ssl.trustStore=C:/path/to/file/zzzz.keystore com.router.router.router.Router
& java -Djavax.net.ssl.trustStore=C://path//to//file//zzzz.keystore com.router.router.router.Router
Cmd 文件包含:
SET CLASSPATH=.\yyyyy.jar
powershell .\startscript.ps1
启动脚本.ps1
& java followed by script as shown above followed by parameters for Java object
我希望java能够正常运行。我一次又一次收到 java.exe:错误:找不到或加载主类 .net.ssl.trustStore=zzzz.keystore
我知道密钥库很好,因为它用于在 cmd 脚本中设置和调用所有内容的其他脚本中,不涉及 powershell。
解决方案
这是因为 PowerShell 看到java开关-
前面的,并认为“哦,一个参数名称”。D
防止 PowerShell 将其解析为命令参数--%
:
& java --% -Djavax.net.ssl.trustStore="C:\\path\\to\\file\\zzzz.keystore" com.router.router.router.Router
或通过引用或分组参数字符串:
& java '-Djavax.net.ssl.trustStore="C:\\path\\to\\file\\zzzz.keystore"' com.router.router.router.Router
# or
& java @('-Djavax.net.ssl.trustStore="C:\\path\\to\\file\\zzzz.keystore"', 'com.router.router.router.Router')
推荐阅读
- c - 如何使链接到静态库也链接到它的依赖项?
- java - hibernate.transaction.manager_lookup_class VS hibernate.transaction.jta.platform
- ruby-on-rails - Jbuilder在控制器中的基本用法
- java - 用于 Spring 引导项目的 AWS beanstalk 上的 Java 11
- visual-studio - 使用团队资源管理器插件安装 vsix 扩展时,VS17 团队资源管理器项目下拉部分消失
- java - 如何获取有关 Arraylist 索引的整数值
- javascript - 表格更改时,SlickGrid DataView syncGridSelection 不会删除旧选择
- azure - Terraform azurerm_virtual_machine_extension
- java - 使用特定注解解析 Java 枚举文件
- pyspark - 使用 oozie 工作流运行 pyspark 时出现 Hive 外部目录错误