问题描述
我正在IntelliJ下开发Java应用程序,该应用程序需要在Linux文件系统下运行。为此,我安装了WSL2,并使用远程任务在WSL2上运行我的应用程序,远程任务是一个基本的Shell脚本,用于获取项目路径,类路径和模块路径,并连接IntelliJ的调试器并执行我的工作。 但是,如果我断开调试器的连接,则该应用程序不会停止运行(应该是这样)。
在agentlib的选项中,我找不到能实现我想要实现的任何选项。 另外,IntelliJ上没有“启动后”任务
关于断开调试器时如何停止应用程序的任何想法吗?
我的启动脚本如下:
#!/bin/bash
# Takes 3 parameters fulfilled by IntelliJ macro :
# $ProjectFileDir$ $Classpath$ <module name>
java_home=/opt/jdk-15
home=~/
home_projects=$home/IdeaProjects/
project=$(echo $1 | sed -e "s|C:\\\Users\\\$USER\\\IdeaProjects|$home_projects|")
cd $project
echo "Current directory: `pwd`"
classpath=$(echo $2 | tr '\\' '/' | tr ';' ':')
classpath=$(echo $classpath | sed -e "s|C:/Users/$USER/.jdks/openjdk-15|$java_home|g")
classpath=$(echo $classpath | sed -e "s|C:/Users/$USER/|$home|g")
classpath="$classpath;$project/$3/target/classes/"
echo $classpath
jarg="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005"
nohup $java_home/bin/java -cp $classpath $jarg <main class> & # Always the same main,it's hidden.
sleep 2
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)