下面是详解用 Maven 将 Dubbo 工程打成 Jar 包运行的完整攻略。
1. 确认dubbo工程已经创建并可正常运行
首先,需要确认 Dubbo 工程已经创建并且能够正常运行。其中,建议使用 Java 8 或更高版本。
2. 在 pom.xml 文 件 中 增 加 打 包 插 件 配 置
在工程的 pom.xml 文件中,需要增加打包插件配置,以生成可执行的 Jar 包。
<plugins>
<!-- 打包插件配置 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.alibaba.dubbo.container.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
其中,配置的主类名(Main-Class)应该是 Dubbo 工程的启动类。如果不确定启动类名,请在 Dubbo 工程的 pom.xml 文件中查找并修改启动类配置。
3. 执 行 Maven 命 令 打 包
在终端或命令行中进入 Dubbo 工程目录,执行以下 Maven 命令:
mvn clean package
执行成功后,可以在 Dubbo 工程目录下的 target 目录中找到生成的 Jar 包。
4. 运 行 Dubbo Jar 包
需要注意的是,在运行 Dubbo Jar 包之前,需要确认当前环境中是否安装有 Java 运行时环境。可以在终端或命令行中执行以下命令检查 Java 运行环境是否正常。
java -version
可以使用以下命令运行 Dubbo Jar 包:
java -jar dubbo-demo-service-0.0.1-SNAPSHOT.jar
其中,dubbo-demo-service-0.0.1-SNAPSHOT.jar 是 Dubbo 工程打包生成的 Jar 包名。
示例一:Dubbo 基本架构
以下是 Dubbo 基本架构的代码示例:
public interface DemoService {
String sayHello(String name);
}
public class DemoServiceImpl implements DemoService {
public String sayHello(String name) {
return "Hello " + name;
}
}
public class Provider {
private static final Logger logger = LoggerFactory.getLogger(Provider.class);
public static void main(String[] args) throws IOException {
logger.info("启动服务提供者...");
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo-demo-provider.xml");
context.start();
System.in.read(); // 按任意键退出
}
}
public class Consumer {
private static final Logger logger = LoggerFactory.getLogger(Consumer.class);
public static void main(String[] args) {
logger.info("启动服务消费者...");
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo-demo-consumer.xml");
context.start();
DemoService demoService = (DemoService) context.getBean("demoService");
String result = demoService.sayHello("World");
logger.info("服务调用结果:" + result);
}
}
示例二:Dubbo Spring Boot
以下是 Dubbo Spring Boot 的代码示例:
@Service
public class DemoServiceImpl implements DemoService {
@Override
public String sayHello(String name) {
return "Hello " + name;
}
}
@SpringBootApplication
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
}
@RestController
public class ConsumerController {
@Reference
private DemoService demoService;
@GetMapping("/hello")
public String sayHello(@RequestParam String name) {
return demoService.sayHello(name);
}
}
@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
以上代码示例仅为参考,实际使用时需要根据具体情况进行修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解用maven将dubbo工程打成jar包运行 - Python技术站