【问题标题】:Maven exec:java and UncaughtExceptionHandlerMaven exec:java 和 UncaughtExceptionHandler
【发布时间】:2012-05-17 16:30:21
【问题描述】:

以下代码在从 java 命令行运行时可以正常工作。但是,当使用 exec:java 运行时,我从来没有看到打印过该行...无论如何要停止这种行为?

public static void main(String[] args) throws InterruptedException {
    Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {

        @Override
        public void uncaughtException(Thread t, Throwable e) {
            System.out.println("Uncaught exception: " + e.getMessage());

        }
    });

    Executors.newSingleThreadExecutor().execute(new Runnable() {

        @Override
        public void run() {
            int i = 1 / 0;

        }
    });
    Thread.sleep(1000);
    System.exit(0);
}

【问题讨论】:

  • 也许你可以发布你的 pom.xml?
  • 您可以尝试在 mvn 调用中添加 -e 标志吗?

标签: java maven uncaughtexceptionhandler


【解决方案1】:

我的假设是默认的 UncaughtExceptionHandler 被 Maven 本身覆盖。

来自usage guide

注意:java 目标不会产生新进程 [...] 否则请考虑使用 exec 目标。

【讨论】:

  • 是的 exec 目标对我有用(打印“未捕获的异常”消息)
猜你喜欢
  • 1970-01-01
  • 2016-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多