我将旧的Java代码库移植到OSGI 。在旧的代码库中,使用了动态代码生成。编译一个字符串示例以使用生成Java类
com.sun.tools.javac.Main.compile
。
我正在重复使用相同的代码,并在Karaf的com.sun.tools.javac
- > etc/custom.properties
中添加了org.osgi.framework.system.packages.extra:= com.sun.tools.javac.Main
。
在运行时,我得到异常java.lang.NoClassDefFoundError: com/sun/tools/javac/Main
有人可以帮我解决一下这个问题。
答案 0 :(得分:1)
我不知道卡拉夫,但你为什么在物业设置中使用:=而不仅仅是=?此外,属性值是包名称列表,而不是类型名称。所以有趣的包是“com.sun.tools.javac”。