有没有办法使用javassist在系统搜索路径中查找现有java类的列表?我知道你可以使用“.getDefault()”来返回系统的默认搜索路径,有没有一种方法可以在不知道类名的情况下列出这个搜索路径上的类。你可以使用javassist抓取项目中的所有类吗?
回答
如果安装一个代理/变压器项目,你可以轻松登录或以某种方式保存所有被加载到你的项目
public class Agent {
public static void premain(String agentArgs, Instrumentation inst) {
inst.addTransformer(new ClassFileTransformer() {
@Override
public byte[] transform(ClassLoader classLoader, String s,
Class<?> aClass, ProtectionDomain protectionDomain,
byte[] bytes) throws IllegalClassFormatException {
// here you will see all the classes that are loaded into your project
// So just log its full name
System.out.println(s);
}
}
}
我认为这种方法只记录已加载的类,而不是所有现有的类。我相信只有一个可以使用的古老的“扫描所有罐子”方法。 – Panayotis 2017-08-29 14:03:35
该方法拦截将要加载到JVM中的所有类。我没有记录所有的类,这意味着如果你的项目中有你的项目中的类(例如JUnit测试)未加载,将不会出现在日志上 – rakwaht 2017-08-29 14:05:52
只是在快速的谷歌查询后,我发现这基本上解决了问题在这里用我提出的同样的方法问到https://zeroturnaround.com/rebellabs/how-to-inspect-classes-in-your-jvm/ – rakwaht 2017-08-29 14:08:56
- 1. Python抓取JSON - 获取所有项目
- 2. 如何使用scrapy抓取项目来使用所有的cpus?
- 3. SqlProfileProvider - 你可以在项目中使用Profile.GetProfile()吗?
- 4. 你可以在现有的GWT项目中加入GwtBootstrap3吗
- 5. 你可以删除appengine项目吗?
- 6. 你可以从vb.net项目中引用/调用Python工具吗?
- 7. 我可以在我的项目中使用Magento的类吗?
- 8. 我可以获取项目中的所有字段吗?(在Sitecore中)?
- 9. 可以共享点搜索抓取隐藏列表中的项目吗?
- 10. 我可以在项目目录之外执行scrapy(python)抓取吗?
- 11. 我可以在.NETCoreApp项目中使用.NETFramework项目吗?
- 12. 我可以使用Javassist删除方法的修饰符吗?
- 13. 你可以在DataTemplate中使用CollectionViewSource吗?
- 14. 你可以在RCloud中使用LaTex吗?
- 15. 你可以在IIS中使用node.js吗?
- 16. 你可以在sessionStorage中使用jQuery吗?
- 17. 你可以在Gitlab中使用word_diff吗?
- 18. 你如何取消选择使用jQuery的列表框中的所有项目
- 19. 你在你的web项目中使用微格式吗?
- 20. 你可以在Neo4j中使用关系类型的数字吗?
- 21. VS的DLL项目可以使用/返回CLR类型吗?
- 22. 你可以用vbscript和ASP做类吗?
- 23. 您可以抓取MS SourceSafe项目的旧时间戳版本吗?
- 24. 在Eclipse Java项目中使用main方法获取所有类
- 25. 你可以在PHP中嵌套类吗?
- 26. Svn转储抓取所有东西吗?
- 27. 你可以在同一个netbeans项目中使用java和php吗?
- 28. 你可以在单个项目中混合使用.net语言吗?
- 29. 你可以用jquery拾取继承的元素类吗?
- 30. 你可以在数组项中使用PHP date()吗?
在类路径中的所有类的类,你是什么意思?什么是“不必事先指定类名”? – acdcjunior 2013-05-02 01:22:19
通常要用javassist修改一个类文件,可以声明“pool.get(”class_name“);”它搜索与底层JVM(Java虚拟机)默认具有的class_name.class字节码相同的路径。我问是否有可能抓住所有类而不抓住一个类(本例中的“class_name.class”) – 2013-05-02 01:42:17
您是否找到了解决此需求的解决方案? – Panayotis 2017-08-06 08:03:06