gpt4 book ai didi

java - 当 jar 文件具有各种传出依赖项时,如何使用 IKVMC 将特定 JAR 文件转换为 DLL?

转载 作者:行者123 更新时间:2023-12-02 05:26:12 26 4
gpt4 key购买 nike

我正在使用 Websphere MQ。我需要将特定的 JAR 文件转换为 DLL。 Here是来自 WMQ 客户端的 JAR 集合。 Here是列出各种传入和传出依赖项的集合的 JAR 分析器文件。

我要转换的文件是 com.ibm.mq.jar ,它具有以下传出依赖项 -

 com.ibm.mq.commonservice.jar
com.ibm.mq.headers.jar
com.ibm.mq.jmqi.jar

问题是我不知道在命令提示符中传递什么命令来转换 jar 而不丢失任何类。

基本上,我需要访问 MQMessage 和 MQMD,它们是 com.ibm.mq.jar 的一部分,但是当我自行转换它时,这些特定的类不会被导入。

我看了一下another similar StackOverflow Question但主要区别在于依赖关系是循环的。

例如,com.ibm.mq.headers.jar 依赖于 com.ibm.mq.jmqi.jar,反之亦然。

最佳答案

我不知道为什么您不阅读我提供的 MQ 链接。

(1) 创建纯“.NET 托管”MQ 应用程序

int openOptions = MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING;
Hashtable qMgrProp = new Hashtable();
qMgrProp.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED); /* very important */
qMgrProp.Add(MQC.HOST_NAME_PROPERTY, "10.10.10.10");
qMgrProp.Add(MQC.CHANNEL_PROPERTY, "TEST.CHL");
qMgrProp.Add(MQC.PORT_PROPERTY, 1414);
qMgrProp.Add(MQC.USER_ID_PROPERTY, "myUserID");

try
{
MQQueueManager _qMgr = new MQQueueManager("MQA1", qMgrProp);

MQQueue queue = _qMgr.AccessQueue("TEST.Q", openOptions, null, null, null);

/* Do whatever you want to do */

queue.Close();
_qMgr.Disconnect();
}
catch (MQException mqex)
{
System.Console.Out.WriteLine("MQTest01 cc=" + mqex.CompletionCode + " : rc=" + mqex.ReasonCode);
}

(2)编译。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe /nologo /t:exe /r:System.dll /r:"C:\Program Files (x86)\IBM\WebSphere MQ\bin\amqmdnet.dll" /out:bin\Release\Test.exe Test.cs  Properties\AssemblyInfo.cs

(3) 创建存储 Test.exe 的“Test.config”文件(与 Test.exe 一起使用)

<configuration>
<appSettings>
<add key="NMQ_MQ_LIB" value="managed"/>
</appSettings>
</configuration>

(4) 将 3 个文件复制到目标 PC:Test.exe、Test.config 和 amqmdnet.dll,然后运行。您可能需要更新 PATH 环境变量以指向 amqmdnet.dll 所在的目录。这通常是不需要的,但有时 Windows 会变得挑剔。

关于java - 当 jar 文件具有各种传出依赖项时,如何使用 IKVMC 将特定 JAR 文件转换为 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25988538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com