java - 从运行的应用程序中恢复Jar

标签 java linux bash maven jar

上下文:我有一个正在运行的Maven应用程序,但是已删除了正在运行的目录以及所有代码。

问题:是否可以在某个地方找到正在运行的.jar?我知道如果可以的话,可以通过反编译器运行它,然后取回我的代码。

编辑:更多上下文。我运行了应用程序。然后,在应用程序运行时,整个目录被删除。要运行的命令是./mvnw spring-boot:run,因此我无法在maven存储库中找到该软件包。

最佳答案

我不确定jar文件。但是,正在运行的应用程序的各个类别是可恢复的。

我认为有几种选择。

您可以转储整个过程的内存,并使用工具来分析其内容。

您还可以编写Java代理以从运行的JVM实例中提取类。

或者,您可以使用https://github.com/frontfact/jvminspector之类的工具浏览已加载的类并手动保存它们。

一旦恢复了类,将它们组装到jar中就变得很简单了。

另请参阅:https://reverseengineering.stackexchange.com/questions/14675/extracting-classes-from-running-jvm

关于java - 从运行的应用程序中恢复Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60655304/

相关文章:

linux - 删除一行及其前面的行

bash - 启动自定义 init.d 脚本会导致在本地主机上找不到 404 页面

java - 在为 Android 编程时,如何获得几乎所有英语单词的列表?

java - Java 中的可变字符串

java - 通过网络传输 Java 对象的最佳方式是什么

ios - 将 iOS 应用程序 console.log 重定向到终端

linux - 删除每个第 X 个文件的 Linux 脚本

java - 可以在双向关系中创建两列吗?

java - 将制表符完成添加到 JFileChooser 文件名输入

linux - 在没有sudo的情况下隔离代码中的cpu?