gpt4 book ai didi

java - 如何从 JBoss 7 或 WildFly 中部署的应用程序访问 JDK tools.jar javac

转载 作者:行者123 更新时间:2023-11-30 03:49:09 25 4
gpt4 key购买 nike

我正在部署一个尝试使用 javac 的应用程序,最终失败并显示 java.lang.NoClassDefFoundError: com/sun/tools/javac/Main

我应该如何使 tools.jar 中的 javac 可用于 JBoss 7 或 WildFly 中部署的应用程序?

最佳答案

以下是我为 javac 创建 JBoss 模块的过程:

mkdir -p modules/com/sun/tools/javac/main
ln -s /usr/java/latest/lib/tools.jar modules/com/sun/tools/javac/main/tools.jar

创建 modules/com/sun/tools/javac/main/module.xml 内容:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.sun.tools.javac">
<resources>
<resource-root path="tools.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<system export="true">
<paths>
<path name="com/sun/tools/javac"/>
</paths>
</system>
</dependencies>
</module>

注意:我使用了符号链接(symbolic link),因为 resource-root path 属性似乎不支持绝对路径。

然后在 META-INF/MANIFEST.MF 中添加 Dependency: com.sun.tools.javac 或创建 jboss-deployment-struction.xml 文件来声明应用程序使用此新模块:https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.2/html/Development_Guide/Add_an_Explicit_Module_Dependency_to_a_Deployment1.html

关于java - 如何从 JBoss 7 或 WildFly 中部署的应用程序访问 JDK tools.jar javac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24866883/

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