Maven Modules在Eclipse中的调试解决方案

当一堆Maven项目互相依赖需要联调时,往往会被以下问题所困扰:

1、被依赖的项目修改,咋debug时没效果?

2、被依赖项目,哪怕直接依赖在工程中,有时候代码也提示找不到源码。

 

所以我采取了嵌入Jetty容器+Maven命令配合的方式执行。

 

解决方案:

1、建立声明Modules的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
	http://maven.apache.org/maven-v4_0_0.xsd ">

	<modelVersion>4.0.0</modelVersion>

	<groupId>com.xxx</groupId>
	<artifactId>xxx</artifactId>
	<packaging>pom</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>xxx</name>

	<modules>
		<module>../x1</module>
		<module>../x2</module>
	</modules>

</project>

并在此执行一次

mvn eclipse:eclipse

 

2、项目pom.xml中加入jetty和servlet相关依赖

		<!-- jetty相关 -->
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-webapp</artifactId>
			<version>9.2.19.v20160908</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-jsp</artifactId>
			<version>9.2.19.v20160908</version>
		</dependency>
		<!-- end -->

3、加入Jetty容器启动main方法

package com.tuling.api;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;

public class WebServer {

	public static void main(String[] args) throws Exception {
		String projectPath = System.getProperty("user.dir");
		String[] fileName = projectPath.split("\\\\");
		// 工程名称
		String projectName = fileName[fileName.length - 1];
		// 如项目在trunk下,可以重写项目名称,否则会识别为trunk
		projectName = "api";
		// web资源路径
		String WebRoot = "src/main/webapp";
		// 端口号
		int port = 8080;
		Server server = new Server(port);
		WebAppContext webapp = new WebAppContext();
		webapp.setDefaultsDescriptor("src/main/resources/webdefault.xml");
		webapp.setDescriptor("src/main/webapp/WEB-INF/web.xml");
		webapp.setContextPath("/" + projectName);
		webapp.setWar(WebRoot);
		server.setHandler(webapp);
		server.start();
		server.join();
	}
}

 

4、Eclipse中的设置

a)把项目引入(废话……)

b)创建编译启动项

compile test-compile

这一步主要目的是导入profile中的变量。

c)启动刚才编写的main方法

 

转载于:https://my.oschina.net/wangchen881202/blog/800361

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值