【Eclipse Maven Tycho】如何通过maven执行eclipse application

通过maven执行eclipse application

前言

eclipse其实不只是一个桌面(GUI)程序,他还可以是一个命令行程序。如果你的产品或软件是基于eclipse开发的,并且他没有UI相关的功能,那么就可以考虑把这些功能封装为一个独立的application,这样就可以通过命令行,在无界面的情况下去运行

命令行下运行

以eclipse自带的org.eclipse.equinox.p2.director为例,该application主要实现了操作p2仓库的相关功能,比如浏览给定仓库的内容,安装指定插件到指定的eclipse中等等。

--此处假设你已经安装了eclipse sdk或p2相关的插件

bash 复制代码
# 查看该app的帮助
./eclipse -nosplash -application org.eclipse.equinox.p2.director -help

# 列出给定仓库的所有插件
./eclipse -nosplash -application org.eclipse.equinox.p2.director -repository https://download.eclipse.org/releases/2022-12 -list

-nosplash 表示不显示启动页
-application org.eclipse.equinox.p2.director 表示运行id为org.eclipse.equinox.p2.director的application

通过maven tycho运行

xml 复制代码
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.zhangsan.test</groupId>
	<artifactId>product</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.tycho.extras</groupId>
					<artifactId>tycho-eclipserun-plugin</artifactId>
					<version>3.6.0</version>
					<executions>
						<execution>
							<id>test</id>
							<phase>package</phase>
							<goals>
								<goal>eclipse-run</goal>
							</goals>
							<configuration>
								<addDefaultDependencies>true</addDefaultDependencies>
								<repositories>
									<repository>
										<layout>p2</layout>
										<url>https://download.eclipse.org/releases/2021-12</url>
									</repository>
								</repositories>
								<dependencies>
									<dependency>
										<artifactId>org.eclipse.platform</artifactId>
										<type>eclipse-feature</type>
									</dependency>
								</dependencies>
								<applicationsArgs>
									<args>-nosplash</args>
									<args>-application</args>
									<args>org.eclipse.equinox.p2.director</args>
									<args>-help</args>
								</applicationsArgs>
							</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-repository-plugin</artifactId>
				<version>3.6.0</version>
				<configuration>
					<includeAllDependencies>true</includeAllDependencies>
					<profileProperties>
						<macosx-bundled>true</macosx-bundled>
					</profileProperties>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

然后执行 mvn clean verify


相关推荐
微风粼粼7 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
喝可乐的布偶猫1 天前
韩顺平之第九章综合练习-----------房屋出租管理系统
java·开发语言·ide·eclipse
电商数据girl18 天前
【经验分享】浅谈京东商品SKU接口的技术实现原理
java·开发语言·前端·数据库·经验分享·eclipse·json
小袁搬码22 天前
Eclise中Lombck配置
java·eclipse·lombok
不太厉害的程序员22 天前
NC65配置xml找不到Bean
xml·java·后端·eclipse
国科安芯22 天前
【AS32系列MCU调试教程】性能优化:Eclipse环境下AS32芯片调试效率提升
java·性能优化·eclipse
国科安芯23 天前
【AS32系列MCU调试教程】调试工具:Eclipse调试工具栏与窗口的深入分析
单片机·嵌入式硬件·eclipse
界面开发小八哥25 天前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(一)
java·ide·java-ee·eclipse·myeclipse
界面开发小八哥1 个月前
「Java EE开发指南」如何使用MyEclipse在Web项目中用Web Fragments?
java·前端·ide·java-ee·eclipse·myeclipse
Aric_Jones1 个月前
HashMap 的底层原理
java·eclipse·maven·hashmap·hash