试用用IDEA工具,外部引用jetty9.3启动项目遇到的坑

本文记录了一位开发者从Eclipse转向IntelliJ IDEA的历程,包括遇到的各种配置问题,如deployment设置、自定义上下文路径及output directory的正确选择。并分享了解决这些问题的方法,以及在代码更改时遇到的编译错误和mapper层代码注入失败等挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直在用eclipse集成环境来开发,某一天,经朋友说或在一些文章里了解到,idea来开发会更好,而用到此工具的人也会越来越多。于是就去试了下,结果碰到了很多坑。

 不能上传图片,就打字记一下。

  1. deployment选中后,在右侧有一个use custom context root,那个要勾上。默认路径为“/”;不勾选的话,后端的访问路径会默认的带上,在server栏目下,http://localhost:8085/webapp路径的webapp;
  2. 选择“+”,再选择artifact后,output directory的路径也要选正确;
  3. 上面1,2在百度了好久,没人说这些,我就自己记一下。其他一些配置在百度上找到就可以了,最终能正常启动,能正常访问,但是在工作更改代码时,编译报错,mapper层的代码都注入失败,唉,处处都是坑。

我还是用eclpse把。

 

### 如何在 IntelliJ IDEA 中配置并使用 Jetty Server 启动项目 为了在 IntelliJ IDEA 中配置并启动基于 Jetty项目,以下是详细的说明: #### 1. 添加 Jetty 依赖项 确保项目的构建工具(Maven 或 Gradle)中已包含 Jetty 相关的依赖项。对于 Maven 用户,在 `pom.xml` 文件中添加以下内容[^3]: ```xml <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.4.x</version> <!-- 替换为最新版本 --> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>9.4.x</version> <!-- 替换为最新版本 --> </dependency> ``` Gradle 用户可以在 `build.gradle` 文件中添加如下内容: ```gradle implementation &#39;org.eclipse.jetty:jetty-server:9.4.+&#39; implementation &#39;org.eclipse.jetty:jetty-webapp:9.4.+&#39; ``` 完成上述操作后,执行命令以同步依赖项至 IDE[^2]: ```bash ./gradlew cleanIdea ``` #### 2. 创建 Jetty 启动类 编写一个 Java 类来初始化和启动 Jetty 服务器。例如,创建名为 `JettyStarter.java` 的文件,并加入以下代码片段[^4]: ```java import org.eclipse.jetty.server.Server; import org.eclipse.jetty.webapp.WebAppContext; public class JettyStarter { public static void main(String[] args) throws Exception { int port = Integer.parseInt(System.getProperty("server.port", "8080")); // 初始化 Jetty 服务端实例 Server server = new Server(port); // 设置 Web 应用程序上下文路径 WebAppContext webAppContext = new WebAppContext(); webAppContext.setContextPath("/"); String warFilePath = System.getProperty("war.file.path"); // WAR 文件路径 if (warFilePath != null && !warFilePath.isEmpty()) { webAppContext.setWar(warFilePath); // 如果有指定的 WAR 文件,则加载它 } else { webAppContext.setResourceBase("./src/main/webapp/"); // 默认资源目录 } server.setHandler(webAppContext); try { server.start(); // 启动服务器 server.join(); // 等待线程结束 } catch (Exception e) { e.printStackTrace(); } } } ``` 此代码会监听默认的 HTTP 请求端口 (`8080`) 并提供静态页面支持。 #### 3. 配置运行环境 打开 IntelliJ IDEA 的 **Run Configurations** 对话框,点击左上角的加号按钮 (+),选择 **Java Application**。设置以下参数: - **Main Class**: 输入刚刚编写的 `JettyStarter` 主类名称。 - **VM Options**: (可选)可以通过 `-Dserver.port=XXXX` 来更改默认端口号;或者通过 `-Dwar.file.path=/path/to/war/file.war` 加载特定的 `.war` 文件。 保存配置后即可直接运行该配置。 #### 4. 调试模式下的远程连接 如果需要调试应用程序中的断点或其他逻辑错误,进入 **Run -> Edit Configurations...**, 新建一项 Remote Debugging Configuration。设定好主机名与端口号(通常为 `localhost`, 端口设为 `5005`),随后重新调整前面提到的 JVM 参数加上 `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005` 即可实现远程调试功能。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值