Java 如何停止在Netbeans中启动的maven项目
我在NetBeans中有一个项目,它以一个主函数开始,该函数接受参数。当我点击“停止”按钮时,项目继续运行,但不再有输出。 目前,我必须记住从控制台手动停止进程 我如何修改我的项目、maven设置或NetBeans配置,使进程在我点击stop时停止 我可以接受没有调用终结器或关闭钩子的流程 以这一类为例:Java 如何停止在Netbeans中启动的maven项目,java,maven,netbeans,Java,Maven,Netbeans,我在NetBeans中有一个项目,它以一个主函数开始,该函数接受参数。当我点击“停止”按钮时,项目继续运行,但不再有输出。 目前,我必须记住从控制台手动停止进程 我如何修改我的项目、maven设置或NetBeans配置,使进程在我点击stop时停止 我可以接受没有调用终结器或关闭钩子的流程 以这一类为例: public class Main { public static void main(String[] args) { System.out.println("arg
public class Main {
public static void main(String[] args) {
System.out.println("args: " + Arrays.asList(args));
new Main().action();
}
private void action() {
Date start = new Date();
long endTime = start.getTime() + 600000;
Date end;
do {
synchronized (Thread.currentThread()) {
try {
Thread.currentThread().wait(1000);
System.out.println("PING");
} catch (InterruptedException iex) {
return;
}
}
end = new Date();
} while (end.getTime() < endTime);
}
}
公共类主{
公共静态void main(字符串[]args){
System.out.println(“args:+Arrays.asList(args));
新的Main().action();
}
私人无效诉讼{
开始日期=新日期();
long-endTime=start.getTime()+600000;
日期结束;
做{
已同步(Thread.currentThread()){
试一试{
Thread.currentThread().wait(1000);
系统输出打印项次(“PING”);
}捕获(中断异常iex){
返回;
}
}
结束=新日期();
}while(end.getTime()
我希望它只使用NetBeans停止按钮就死掉。当您在NetBeans输出中点击“Stop”时,NB停止maven进程,但maven已经生成了实际的程序输出,因此Stop命令不会移交给您的程序
默认情况下,NetBeans使用“exec”目标调用exec maven插件。如果将其更改为“java”目标,则没有新的流程。在下面的更改之后,项目“属性”中的“运行”部分将为空且没有任何用处。我没有测试在这种情况下调用“System.exit”或类似命令会发生什么
另外请注意,从现在起,您必须注意自己在此处修改版本号
您必须转到“项目”窗口,右键单击项目,转到属性
并选择操作元素和运行项目条目。它将如下所示:
你必须修改
过程类org.codehaus.mojo:execmaven插件:1.2.1:java
(最后将exec
更改为java
)
exec.mainClass=de.streamnet.stopfromnetbeans.Main
exec.classpath=%classpath
exec.args=第二个“第三个空间”