rebase
diff --git a/meecrowave-core/pom.xml b/meecrowave-core/pom.xml
index 414654d..a05649a 100644
--- a/meecrowave-core/pom.xml
+++ b/meecrowave-core/pom.xml
@@ -80,6 +80,11 @@
<version>${openwebbeans.version}</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.openwebbeans</groupId>
+ <artifactId>openwebbeans-spi</artifactId>
+ <version>${openwebbeans.version}</version>
+ </dependency>
<dependency> <!-- not that if a user adds owb-se this should get excluded -->
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-web</artifactId>
diff --git a/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/OWBJarScanner.java b/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/OWBJarScanner.java
index 9cb96b3..3afcb8a 100644
--- a/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/OWBJarScanner.java
+++ b/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/OWBJarScanner.java
@@ -27,6 +27,7 @@
import org.apache.tomcat.util.scan.JarFactory;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.corespi.scanner.xbean.CdiArchive;
+import org.apache.webbeans.corespi.scanner.xbean.OwbAnnotationFinder;
import org.apache.webbeans.web.scanner.WebScannerService;
import org.apache.xbean.finder.util.Files;
@@ -43,7 +44,12 @@
public void scan(final JarScanType jarScanType, final ServletContext servletContext, final JarScannerCallback callback) {
switch (jarScanType) {
case PLUGGABILITY:
- CdiArchive.class.cast(WebScannerService.class.cast(WebBeansContext.getInstance().getScannerService()).getFinder().getArchive())
+ final WebBeansContext owb = WebBeansContext.getInstance();
+ final OwbAnnotationFinder finder = WebScannerService.class.cast(owb.getScannerService()).getFinder();
+ if (finder == null) {
+ return;
+ }
+ CdiArchive.class.cast(finder.getArchive())
.classesByUrl().keySet().stream()
.filter(u -> !"jar:file://!/".equals(u)) // not a fake in memory url
.forEach(u -> {
diff --git a/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java b/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java
index 391887b..f7cd553 100644
--- a/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java
+++ b/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java
@@ -58,6 +58,15 @@
public class MeecrowaveTest {
@Test
+ public void noTomcatScanning() {
+ try (final Meecrowave meecrowave = new Meecrowave(
+ new Meecrowave.Builder().tomcatScanning(false).randomHttpPort())
+ .bake()) {
+ // ok it started, before the fix it was failing due to a NPE
+ }
+ }
+
+ @Test
public void fastStartupSessionId() {
try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort())
.start().deployClasspath()) {
diff --git a/pom.xml b/pom.xml
index e9c9974..4a33e94 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,6 +53,8 @@
<junit.version>4.13.1</junit.version>
<tomcat.version>9.0.39</tomcat.version>
<openwebbeans.version>2.0.19</openwebbeans.version>
+ <cxf.version>3.4.0</cxf.version>
+ <openwebbeans.version>2.0.19</openwebbeans.version>
<cxf.version>3.4.1-SNAPSHOT</cxf.version>
<johnzon.version>1.2.8</johnzon.version>
<log4j2.version>2.13.3</log4j2.version>
@@ -235,5 +237,9 @@
</snapshots>
</repository>
-->
+ <repository>
+ <id>owb</id>
+ <url>https://repository.apache.org/content/repositories/orgapacheopenwebbeans-1065/</url>
+ </repository>
</repositories>
</project>