我想使用Netbeans在Maven项目中的远程机器上自动启动和调试单元测试。所有IDE特性都应该工作,如调试、输出窗口等。进程必须完全自动化,只需单击一次"Debug焦点测试方法“。
发布于 2016-05-29 19:58:08
解决方案是用自定义脚本替换mvn命令,该脚本将执行rsync和ssh。通过这两种工具的魔力,它的工作真的很好。而且,它应该可以移植到其他Maven IDE。当前的指南是针对bash的,但是在powershell、groovy甚至cmd中也可以实现相同的想法。(我试着使用Nashorn,但是在正确保存所有参数的同时执行其他命令的方式似乎被打破了。)
/usr/local/netbeans-8.1/java/maven/bin/中,重命名mvn脚本:cd /usr/local/netbeans-8.1/java/maven/bin/sudo mv mvn mvn.orig
mvn脚本。
#!/bin/bash if -z "$REMOTE“;SCRIPTDIR=$(大号"$0") "$SCRIPTDIR/mvn.orig”"$@“,如果-z "$REMOTE_BASE_DIR”;然后回显“REMOTE_BASE_DIR :请将环境变量REMOTE_BASE_DIR设置为包含项目目录”exit fi PROJECT_DIR=$(basename "$(pwd)")的文件夹的REMOTE_BASE_DIR ARGS=,用于"$@“do ARGS="$ARGS \\”$var\\“do echo”项目目录.“(设置-x;rsync -aczhW -进度-删除-排除'.git‘-排除’$REMOTE:\‘$RSYNC_OPTS ./“$REMOTE:\”$REMOTE_PROJECT_DIR\)回显“执行maven.”如果"$REMOTE_PORT“= '${jpda.address}‘;则(set -x;ssh ${REMOTE} "cd \”$REMOTE_PROJECT_DIR\;mvn $ARGS")其他(set -x;ssh -R $REMOTE_PORT:localhost:$REMOTE_PORT ${REMOTE} "cd \“$REMOTE_PROJECT_DIR\;mvn $ARGS")mvn,要么安装Netbeans并将其mvn放在路径上。我选择了后者,但两者都应该可以。AllowTcpForwarding设置为yes或/etc/ssh/sshd_config中的remote。
- Go into Project's properties
- Create new Configuration
- In "Set properties" add:Env.REMOTE_BASE_DIR= Env.REMOTE= Env.REMOTE_PORT=${jpda.address} Env.RSYNC_OPTS=

- To use, select the new configuration in the drop-down menu in the toolbar, and invoke any maven goal as usual.
- I'm still looking for a way to set up this configuration globally. If you know how to do this, please tell me!
发布于 2016-05-30 08:08:23
尽到火/故障安全插件支持开箱即用的远程调试:http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html
https://stackoverflow.com/questions/37512315
复制相似问题