我在eclipse中有一个Maven项目,我使用Run配置运行。该配置compile
和exec:exec
在我的pom.xml
中定义的脚本(称为 runner )依赖于操作系统(Windows .bat
{ Linux中的{1}}。跑步者做依赖于操作系统的东西,然后用我的应用程序启动Java。使用哪个运动员指定如下的配置文件:
.sh
因此,当我想运行它时,我使用<profile>
<id>WINused</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<runnerForLaunch>${basedir}/src/runners/windowsRunner.bat</runnerToUse>
</properties>
</profile>
并选择Maven配置。之后,我只使用Alt+Shift+X, M
。
当我必须调试时,我必须执行以下操作:
Ctrl+F11
以使用另一个将pom.xml
添加到Java调用的转轮脚本。我的问题是,我可以以某种方式缩短这个过程吗?我经常忘记撤消对-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=y
的更改,并使用我目前不需要的跑步者。
Maven能否以某种方式检测我是否使用以运行 调试并根据其调整变量来运行它?
答案 0 :(得分:1)
如果POM中的runner配置支持命令行参数:
创建另一个包含以下内容的个人资料:
<profile>
<id>debug</id>
<properties>
<debugArgument>-agentlib: ...</debugArgument>
</properties>
</profile>
在以下位置使用新属性:
<runnerForLaunch>${basedir}/src/runners/windowsRunner.bat ${debugArgument}</runnerToUse>
在调试配置中将debug
添加到配置文件:。
%1
或$1
。或者:
<debugArgument>debug</debugArgument>
。%1
或$1
,并相应地使用不同的参数调用Java。或者:
debugArgument
或2)debug
的属性-agentlib: ...
添加到参数名称 / 值 使用以下属性:
<runnerForLaunch>${basedir}/src/runners/windowsRunner.bat ${debugArgument}</runnerToUse>
%1
评估$1
或debug
并相应地使用不同的参数调用Java,或者2)在脚本中的Java调用中使用它们。答案 1 :(得分:0)
通常,您不需要添加调试选项,因为eclipse只需通过调用&#34; mvnDebug&#34;来添加它们。而不是&#34; mvn&#34;调试maven项目时。我建议您在运行Java应用程序之前运行shell脚本,然后使用exec:java启动Java应用程序,以使其在连接到eclipse调试器的maven进程内运行。