35

我正在使用 s/o 代码,它是一个由 maven 构建的 java webapp。webapp 由 maven 脚本运行,如下所示,该应用程序在 localhost:8080 上运行:

<build>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>8.1.8.v20121106</version>
                <configuration>
                    <contextPath>/</contextPath>
                    <connectors>
                        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                            <!--<port>8085</port>-->
                            <port>8080</port>
                            <maxIdleTime>60000</maxIdleTime>
                        </connector>
                    </connectors>
                    <stopKey>stop</stopKey>
                    <stopPort>8089</stopPort>
                </configuration>
            </plugin>            
        </plugins>
</build>

我想附加 IntelliJ 的调试器,以便我可以单步执行代码。我尝试设置调试器配置,例如:Jetty Server,然后是“远程”,但它说未指定应用程序服务器。我还尝试了“本地”,它说“不包括主配置文件”。

那么我必须怎么做才能附加调试器呢?提前致谢。

4

3 回答 3

81

最简单的方法是:

  1. Maven Projects在选项卡中展开您的项目。
  2. 展开Plugins>jetty项目。
  3. 右键单击jetty:run
  4. Debug从上下文菜单中选择。

的屏幕截图

于 2013-02-28T17:30:57.007 回答
10

我知道现在回答这个问题为时已晚,但值得分享有关此问题的最新更新作为现代解决方案:您也可以使用具有相同效果的“<code>mvnDebug jetty:run”运行码头。在终端中显示以下日志

Preparing to Execute Maven in Debug Mode
Listening for transport dt_socket at address: 8000
[INFO] Scanning for projects...

只要记住选择正确的套接字地址(例如8000),然后:

  1. 打开 Intellij
  2. 运行 -> 编辑配置
  3. 在运行/调试配置窗口中,您需要单击 (+) 按钮添加新配置
  4. 选择远程
  5. 保持默认配置不变,将监听端口改为对应的(8000)即可。

享受。

于 2016-07-20T21:43:02.813 回答
1

当我得到“不包括主配置文件”时,这是因为在我的 OS X 升级期间删除了我的应用程序服务器配置(在运行/调试配置对话框上)中的 Jetty 路径(我把它放在 /usr/share/java )。

我在 /usr/local 下重新安装了 jetty-hightide-8.1.5.v20120716,更新了配置,一切正常。

于 2013-10-24T22:52:39.903 回答