• 【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相关的插件

    # 查看该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
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    通过maven tycho运行

    <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.0modelVersion>
    	<groupId>com.zhangsan.testgroupId>
    	<artifactId>productartifactId>
    	<version>1.0.0-SNAPSHOTversion>
    	<packaging>pompackaging>
    	<build>
    		<pluginManagement>
    			<plugins>
    				<plugin>
    					<groupId>org.eclipse.tycho.extrasgroupId>
    					<artifactId>tycho-eclipserun-pluginartifactId>
    					<version>3.6.0version>
    					<executions>
    						<execution>
    							<id>testid>
    							<phase>packagephase>
    							<goals>
    								<goal>eclipse-rungoal>
    							goals>
    							<configuration>
    								<addDefaultDependencies>trueaddDefaultDependencies>
    								<repositories>
    									<repository>
    										<layout>p2layout>
    										<url>https://download.eclipse.org/releases/2021-12url>
    									repository>
    								repositories>
    								<dependencies>
    									<dependency>
    										<artifactId>org.eclipse.platformartifactId>
    										<type>eclipse-featuretype>
    									dependency>
    								dependencies>
    								<applicationsArgs>
    									<args>-nosplashargs>
    									<args>-applicationargs>
    									<args>org.eclipse.equinox.p2.directorargs>
    									<args>-helpargs>
    								applicationsArgs>
    							configuration>
    						execution>
    					executions>
    				plugin>
    			plugins>
    		pluginManagement>
    
    		<plugins>
    			<plugin>
    				<groupId>org.eclipse.tychogroupId>
    				<artifactId>tycho-p2-repository-pluginartifactId>
    				<version>3.6.0version>
    				<configuration>
    					<includeAllDependencies>trueincludeAllDependencies>
    					<profileProperties>
    						<macosx-bundled>truemacosx-bundled>
    					profileProperties>
    				configuration>
    			plugin>
    		plugins>
    	build>
    project>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63

    然后执行 mvn clean verify


  • 相关阅读:
    【JavaScript】过了一年,懒癌患者终于整理了一下『手写Promise A+』
    shell脚本之免交互
    前序、后序及层次遍历实现二叉树的序列化与反序列化
    构建数字化SaaS商城运营平台:规划框架探究
    js中隐式类型转换与toPrimitive
    FNN、DeepFM与NFM
    基于模糊PID的液压舵机伺服系统
    ffmpeg安装及使用
    基于JAVA课程在线反馈系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    [题]Balanced Lineup G #倍增
  • 原文地址:https://blog.csdn.net/mzjmzjmzjmzj/article/details/133979765