我正在尝试开发具有六边形体系结构的quarkus应用程序。
应用程序代码在github中可用。
我有4个模块;业务,持久性,Web服务和应用程序打包在一个全局模块中,在该模块中,我将生成Quarkus应用程序。
启动时:
mvn clean package -Pnative
然后是我的本地图片
portfolio-app/target/portfolio-app-1.0-SNAPSHOT-runner
Quarkus无法公开我不在主模块中的PortfolioEndpoint。
我可以将端点放入我的投资组合应用程序中,并且可以正常工作,但是我不想破坏六角形的体系结构。
我应该将所有Quarkus功能放在同一个Maven模块中,还是可以将功能拆分为多个包?
答案 0 :(得分:0)
根据@gsmet的建议,我设法纠正了在我的父pom中添加jandex maven plugin的问题
<build>
<plugins>
<plugin>
<groupId>org.jboss.jandex</groupId>
<artifactId>jandex-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>make-index</id>
<goals>
<goal>jandex</goal>
</goals>
<!-- phase is 'process-classes by default' -->
<configuration>
<!-- Nothing needed here for simple cases -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
该插件将生成一个名为jandex.idx的文件,其中包含对target / classes文件夹中包含的所有.class文件的引用。
└── target
├── classes
│ ├── META-INF
│ │ └── jandex.idx <==== here
│ └── org
│ └── acme
│ └── quarkus
│ └── portfolio
│ └── persistence
│ └── repository
│ ├── SqlRepositoryAdapter.class
│ └── SqlRepositoryProvider.class