我有两个项目:

A
--build.gradle

B
--build.gradle

settings.gradle // With: include 'A', 'B'

设置非常简单,每个项目都是一个简单的Jetty服务器:
public static void main(String[] args) throws Exception {
    String location = "src/main/webapp/";
    Server server = new Server(8080);
    WebAppContext webapp = new WebAppContext();

    webapp.setContextPath("/");
    webapp.setResourceBase(location);

    server.setHandler(webapp);
    server.start();
    server.join();
}

当我使用gradlew run时,它只能按一定比例进行构建,因为在构建了一个项目之后,服务器在前台运行,而第二个项目则无法构建。

Gradle是否有一个好的解决方案,还是我必须创建胖的JAR并通过后期编译任务手动完成?

最佳答案

您正在对端口进行硬编码(8080)。两台服务器不能在同一端口启动。如果您可以将端口外部化为配置文件,并且有两个不同的端口可以启动,那么应该可以解决您的问题。

如果将外部化到配置文件似乎很困难,请使其成为环境参数

10-06 08:57
查看更多