gpt4 book ai didi

java - 创建具有所有依赖项的jar时Java编译器为null

转载 作者:行者123 更新时间:2023-12-03 06:21:47 25 4
gpt4 key购买 nike

我试图创建一个包含所有依赖项的jar,该jar将托管一个小的Groovy程序,该程序使用Java编译器API在运行时生成类。我正在使用Gradle One Jar生成此文件,但是我也尝试了Maven程序集插件并获得了相同的结果。这是失败的代码:

def compiler = ToolProvider.getSystemJavaCompiler()
assert compiler != null

在我的jar文件上运行 java -jar时的结果:
Exception in thread "main" Assertion failed:

assert compiler != null
| |
null false

我猜想这可能是一个明显的问题,排除了包含编译器的相应JDK jar。关于如何解决该问题的任何建议?我不需要特定于Gradle或Maven的建议,但那会有所帮助。

最佳答案

我认为Peter试图暗示的是您很可能使用JRE运行Java命令,该JRE不包括用于编译器的tools.jar。您需要tools.jar或。更好的是,安装了JDK。

如果您想知道如何向 list 文件的类路径部分添加类或jar,则可以阅读http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html

关于java - 创建具有所有依赖项的jar时Java编译器为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014883/

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