当前位置: 首页 > 知识库问答 >
问题:

仅在构建服务器中使用Maven,而不是在开发人员中使用

芮祺
2023-03-14

目前,开发人员正在处理多个OSGi包,这些包也通过OSGi导入/导出相互使用。Eclipse用于开发和测试。

现在,我们要建立一个CI-server(Jenkins),它应该通过使用Maven构建所有osgi包(来自repo)。因此,只有在CI-server中才需要Maven。这也意味着,开发人员在他们的工作站上进行开发时,既不会看到也不会关心pom.xml,因为他们没有接触到Maven。

我的第一个问题是,是否可以这样做。当开发人员更改清单上的导入和导出时,maven必须知道这一点,以使编译器可以使用这些依赖项。例如,maven希望构建BundleB,它从BundleA导入包a。通常,pom.xml会包含对Bundle a的maven依赖项(必须在之前部署到本地maven repo)。但是当开发人员只在他们的bundle中更改他们的manifest.mf时,pom.xml中没有条目。maven是否可能通过解析清单来确定正确的maven依赖项?或者另一种解决方案:告诉maven一个包含所有预构建JAR的类路径?

我的第二个问题是,是否建议只在CI服务器上使用maven,而不是在开发人员中使用maven。

问候

共有1个答案

昌砚
2023-03-14

如果开发人员不使用maven,那么他们在构建中使用什么。我认为有一个自动化的构建系统是有意义的。所以您应该在开发人员系统上使用maven或类似的工具(如gradle)。

另一个问题是手工维护清单文件是否有意义。这是PDE在eclipse中的工作方式,但我认为在构建期间创建清单要有效得多。这可以通过使用Felix的maven-bundle-plugin来完成。那样工作容易多了。

有关一些示例,请参阅karaf教程。

 类似资料:
  • 问题内容: 我只是从.net开发转到LINUX MONO开发…,而我之前没有Linux开发方面的丰富经验。 我需要在mono c#中创建后台服务(例如Windows服务)。 并且可以从mono c#访问LINUX本机API。(例如从win c#调用winAPI)。 问题答案: Mono带有与Windows Service兼容的系统,称为Mono-service。 Unix中用于服务的单词是Daem

  • 我正在尝试使用java(JDA)设置discord bot,但在服务器上使用它时遇到了一些问题。它适用于直接消息,但由于某些原因,它不能在服务器上使用。我通过intellij将该项目设置为Maven项目。 我是从一个 这在DM中运行良好,但在服务器中不起作用。 以下是我迄今为止所尝试的: 1. 我把它从收到的消息改为: 这在我的服务器上仍然不起作用,在dms中也不起作用。 2.我更改了bot的权限

  • 我正在尝试将jQAssistant集成到我现有的Maven构建中。我有一个POM层次结构,但基本上顶层POM定义了构建的功能。这就是我的<代码> 因此,我希望在构建期间扫描所有类,并将结果聚合到正在运行的服务器中,以便在构建所有Maven模块之后拥有一个完全填充的Neo4J数据库。数据库应该包含我的整个代码库。 分析和检查将是另一个步骤,我不想在构建Maven模块时直接这样做。 我看到的示例都是构

  • 有一个问题,我们的一些用户有一个错误的服务工作者坐在他们的Facebook浏览器从我们的网站。 问题:Facebook App用户在访问我们在FB上共享的页面时,会在FB浏览器上看到我们的“您离线页面”。 错误似乎是旧版本的Google Workbox(3.6.1)使用Chrome75自动返回FB应用程序中的您离线页面。更新Workbox修复了它。 对Workbox的引用在service work

  • 本文向大家介绍在 Django/Flask 开发服务器上使用 HTTPS,包括了在 Django/Flask 开发服务器上使用 HTTPS的使用技巧和注意事项,需要的朋友参考一下 使用 Django 或 Flask 这种框架开发 web app 的时候一般都会用内建服务器开发和调试程序,等程序完成后再移交到生产环境部署。问题是这些内建服务器通常都不支持 HTTPS,我们想在开发的时候就能够使用和测

  • 问题内容: 我无法解决一项服务,而另一项正在解决?如果那是错误的意思,那么等待解决问题的方法是什么? java.lang.IllegalArgumentException:侦听器已在android.net.nsd.NsdManager.resolveService(NsdManager.java:613)处使用,位于com.example.miguel.broadcast.LocalService