Java Maven Netbeans应用程序找不到ServiceProvider
设置: 在我们公司,我尝试将基于Ant的Netbeans应用程序迁移到Maven。 我有一个基于Maven的Netbeans平台应用程序和两个包含Netbeans模块的Maven模块POM项目Java Maven Netbeans应用程序找不到ServiceProvider,java,maven,netbeans,Java,Maven,Netbeans,设置: 在我们公司,我尝试将基于Ant的Netbeans应用程序迁移到Maven。 我有一个基于Maven的Netbeans平台应用程序和两个包含Netbeans模块的Maven模块POM项目 |API (POM project) |-APIModule |-MyService.java |Implementation (POM project) |-ImplModule (dependency on APIModule) |-MyServiceProvider.java (impl
|API (POM project)
|-APIModule
|-MyService.java
|Implementation (POM project)
|-ImplModule (dependency on APIModule)
|-MyServiceProvider.java (implements MyService)
|Application (Maven Netbeans Platform Application) (dependency on API and Implementation)
|-branding
|-netbeans-app (the application)
|-viewer
|-MyViewer.java (calls Lookup.getDefault().lookup(MyService.class)
API和实现是使用pom
构建的,依赖项是使用
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mavenprojectapi</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
</dependencies>
${project.groupId}
),但那不是我想要的
问题:如何找到通过查找和ServiceProvider定义的服务实现,这些服务实现是在其他模块套件中定义的
更新:似乎没有从实现项目加载可传递的依赖项。我可以做的是定义一个Netbeans聚合模块,该模块对所有实现模块都有显式依赖关系,并在我的应用程序中将其声明为直接依赖关系。通过这种方式加载可传递依赖项并找到服务提供者
不过,我想要的是在基于Ant的项目中复制“导入集群”功能。中描述了一些目标,集群是为单个模块构建的,但我不知道如何访问它们。有什么想法吗?将实现模块的模块类型更改为“渴望”
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
...
<configuration>
<moduleType>eager</moduleType>
...
</configuration>
</plugin>
org.codehaus.mojo
nbm maven插件
...
渴望的
...
将实施模块的模块类型更改为“渴望”
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
...
<configuration>
<moduleType>eager</moduleType>
...
</configuration>
</plugin>
org.codehaus.mojo
nbm maven插件
...
渴望的
...
遗憾的是,这并没有解决问题。我编辑并更新了我的问题。遗憾的是,这并没有解决这个问题。我编辑并更新了我的问题。