【发布时间】:2017-10-26 20:49:07
【问题描述】:
我正在开发一个由数千个 jars 组成的复杂 java 应用程序,包括 spring 和 jetty。是否可以在 main() 方法中放置断点?我不知道在启动过程中使用了哪个类的 main 方法。我能够在命令行上启动应用程序并使用 Eclipse 或 IntelliJ IDEA 远程连接到它。我还可以在调试模式下运行应用程序并让它等待调试器附加到它。
应用程序是这样启动的:
/java -Xss512k -XX:+HeapDumpOnOutOfMemoryError -XX:-UseCodeCacheFlushing -XX:-Tiered=path.to.log.file -XX:StackShadowPages=20 -classpath path.to.jar.file launcher.OsgiLauncher -Frobnitz path.to.Jetty94.jetty.gen.xml
【问题讨论】:
-
找到main方法应该不难,因为Java在这里不支持太多复杂性。应用如何启动?
-
使用 osgi 标签会有更好的运气。 AFAIK,带有命令行的
main()方法就是 OSGi 本身,也就是launcher.OsgiLauncher类有它。
标签: java eclipse intellij-idea jetty osgi