java - Winrun4j:超过最大类路径大小

标签 java winrun4j

我的项目有很多依赖项,我通过设置告诉 winrun4j 包含所有依赖项

classpath.1=D:\lib\*.jar

在 ini 文件中。

服务日志告诉我 winrun4j 正在扩展类路径并生成类路径:

[info] Expanding Classpath: D:\lib\*.jar
[info] Expanding Classpath: D:\lib\activation-1.1.1.jar
[info] Expanding Classpath: D:\lib\activemq-client-5.10.2.jar
[...]
[...]many, many other libs here
[...]
[warn] Exceeded maximum classpath size
[info] Generated Classpath: D:\lib\activation-.1.1.jar;D:\lib\activemq-client-5.10.2.jar;[...]

为什么 winrun4j 会生成这样的类路径?是不是应该就够了

D:\lib\*.jar

?

有什么解决方法可以让服务在如此多的依赖项下运行吗?

最佳答案

早就知道的winrun4j问题,这里没有解决和讨论:

Exceeds maximum classpath length #59

https://github.com/poidasmith/winrun4j/issues/59

在这里:

Add an INI option to disable classpath glob expansion #67

https://github.com/poidasmith/winrun4j/issues/67

不幸的是,你没有太多的可能性。正如问题 59 所建议的那样,您可以将工作目录设置为模块目录。您可以保留一些字符。

D:\lib\activation-.1.1.jar; 将变为 lib\activation-.1.1.jar;。 您还可以检查是否需要所有依赖项。

如果这还不够,您应该认真寻找替代方案,例如 JSmooth 或 Launch4J。

关于java - Winrun4j:超过最大类路径大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41439856/

相关文章:

java - 三重 DES 加密 C# - 在 Java 中解密

java - 为什么 Kotlin 会收到这样的 UndeclaredThrowableException 而不是 ParseException?

java - 使用 WinRun4j 记录 Windows 服务中的异常

java - winrun4j - 无法创建服务

java - winrun4j 自动检测 JVM

java - Android:如何使用相同的相机 Intent 拍摄多张照片

java - 使用序列图编码

java - 3 字节 UTF-8 序列 xml 转换异常的无效字节 2

java - 从类路径设置嵌入式 Jetty war