[
https://issues.apache.org/jira/browse/SUREFIRE-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17090965#comment-17090965
]
Tibor Digana commented on SUREFIRE-1262:
----------------------------------------
[~Pavel_K]
I have fixed your problem by adding these dependencies in {{com.foo.api}}:
{code:xml}
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
{code}
and the result is this:
{noformat}
[INFO] --- maven-surefire-plugin:3.0.0-SNAPSHOT:test (default-test) @
com.foo.plugin ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.foo.plugin.BarTest
[main] INFO com.foo.plugin.BarTest - Hello! I am a JPMS module and I use SLF4J
as a JPMS module!
[main] INFO com.foo.plugin.BarTest - We must be on module path, let's check
[main] INFO com.foo.plugin.BarTest -
[main] INFO com.foo.plugin.BarTest - Lets see JDKModulePath:
C:\vcs\github\surefire-jpms\com.foo.plugin\target\classes;c:\Users\tibor17\.m2\repository\org\slf4j\slf4j-simple\1.8.0-beta2\slf4j-simple-1.8.0-beta2.jar;C:\vcs\github\surefire-jpms\com.foo.api\target\classes;c:\Users\tibor17\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;c:\Users\tibor17\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;c:\Users\tibor17\.m2\repository\javax\ws\rs\javax.ws.rs-api\2.1.1\javax.ws.rs-api-2.1.1.jar;c:\Users\tibor17\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;c:\Users\tibor17\.m2\repository\org\slf4j\slf4j-api\1.8.0-beta2\slf4j-api-1.8.0-beta2.jar
[main] INFO com.foo.plugin.BarTest -
[main] INFO com.foo.plugin.BarTest - This is list of modules in boot layer:
[main] INFO com.foo.plugin.BarTest - jdk.naming.rmi
[main] INFO com.foo.plugin.BarTest - java.ws.rs
[main] INFO com.foo.plugin.BarTest - java.xml.crypto
[main] INFO com.foo.plugin.BarTest - jdk.net
[main] INFO com.foo.plugin.BarTest - java.compiler
[main] INFO com.foo.plugin.BarTest - jdk.internal.opt
[main] INFO com.foo.plugin.BarTest - com.foo.plugin
[main] INFO com.foo.plugin.BarTest - java.desktop
[main] INFO com.foo.plugin.BarTest - jdk.crypto.cryptoki
[main] INFO com.foo.plugin.BarTest - jdk.internal.le
[main] INFO com.foo.plugin.BarTest - jdk.editpad
[main] INFO com.foo.plugin.BarTest - jdk.unsupported
[main] INFO com.foo.plugin.BarTest - jdk.jartool
[main] INFO com.foo.plugin.BarTest - jdk.jdwp.agent
[main] INFO com.foo.plugin.BarTest - java.xml.bind
[main] INFO com.foo.plugin.BarTest - org.slf4j
[main] INFO com.foo.plugin.BarTest - jdk.unsupported.desktop
[main] INFO com.foo.plugin.BarTest - jdk.jstatd
[main] INFO com.foo.plugin.BarTest - jdk.security.auth
[main] INFO com.foo.plugin.BarTest - java.scripting
[main] INFO com.foo.plugin.BarTest - java.prefs
[main] INFO com.foo.plugin.BarTest - org.slf4j.simple
[main] INFO com.foo.plugin.BarTest - java.security.sasl
[main] INFO com.foo.plugin.BarTest - java.rmi
[main] INFO com.foo.plugin.BarTest - java.xml
[main] INFO com.foo.plugin.BarTest - com.foo.api
[main] INFO com.foo.plugin.BarTest - java.management
[main] INFO com.foo.plugin.BarTest - jdk.localedata
[main] INFO com.foo.plugin.BarTest - jdk.internal.ed
[main] INFO com.foo.plugin.BarTest - jdk.zipfs
[main] INFO com.foo.plugin.BarTest - jdk.sctp
[main] INFO com.foo.plugin.BarTest - jdk.jconsole
[main] INFO com.foo.plugin.BarTest - jdk.management.agent
[main] INFO com.foo.plugin.BarTest - jdk.charsets
[main] INFO com.foo.plugin.BarTest - java.datatransfer
[main] INFO com.foo.plugin.BarTest - jdk.compiler
[main] INFO com.foo.plugin.BarTest - jdk.management.jfr
[main] INFO com.foo.plugin.BarTest - java.sql.rowset
[main] INFO com.foo.plugin.BarTest - jdk.crypto.mscapi
[main] INFO com.foo.plugin.BarTest - jdk.jdeps
[main] INFO com.foo.plugin.BarTest - jdk.security.jgss
[main] INFO com.foo.plugin.BarTest - java.sql
[main] INFO com.foo.plugin.BarTest - java.logging
[main] INFO com.foo.plugin.BarTest - jdk.attach
[main] INFO com.foo.plugin.BarTest - java.persistence
[main] INFO com.foo.plugin.BarTest - jdk.scripting.nashorn
[main] INFO com.foo.plugin.BarTest - jdk.dynalink
[main] INFO com.foo.plugin.BarTest - jdk.internal.jvmstat
[main] INFO com.foo.plugin.BarTest - java.instrument
[main] INFO com.foo.plugin.BarTest - jdk.naming.dns
[main] INFO com.foo.plugin.BarTest - jdk.jlink
[main] INFO com.foo.plugin.BarTest - java.naming
[main] INFO com.foo.plugin.BarTest - java.management.rmi
[main] INFO com.foo.plugin.BarTest - jdk.jdi
[main] INFO com.foo.plugin.BarTest - jdk.xml.dom
[main] INFO com.foo.plugin.BarTest - jdk.jfr
[main] INFO com.foo.plugin.BarTest - jdk.jsobject
[main] INFO com.foo.plugin.BarTest - jdk.crypto.ec
[main] INFO com.foo.plugin.BarTest - jdk.management
[main] INFO com.foo.plugin.BarTest - java.smartcardio
[main] INFO com.foo.plugin.BarTest - jdk.javadoc
[main] INFO com.foo.plugin.BarTest - jdk.jshell
[main] INFO com.foo.plugin.BarTest - java.security.jgss
[main] INFO com.foo.plugin.BarTest - jdk.accessibility
[main] INFO com.foo.plugin.BarTest - java.transaction.xa
[main] INFO com.foo.plugin.BarTest - java.activation
[main] INFO com.foo.plugin.BarTest - jdk.httpserver
[main] INFO com.foo.plugin.BarTest - java.base
[main] INFO com.foo.plugin.BarTest - java.net.http
[main] INFO com.foo.plugin.BarTest -
[main] INFO com.foo.plugin.BarTest - Let's see if I or SLF4J are among them:
true
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.095 s
- in com.foo.plugin.BarTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Com Foo ............................................ SUCCESS [ 0.012 s]
[INFO] Com Foo Api ........................................ SUCCESS [ 2.997 s]
[INFO] com.foo.plugin ..................................... SUCCESS [ 4.097 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.352 s
{noformat}
> Add modulepath support
> ----------------------
>
> Key: SUREFIRE-1262
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1262
> Project: Maven Surefire
> Issue Type: Improvement
> Reporter: Robert Scholte
> Assignee: Tibor Digana
> Priority: Major
> Fix For: 2.21.0
>
>
> With the Jigsaw project Java9 is extended with a modulepath. This means that
> surefire should be executed in a different way.
> When working with a modulepath, the Classpath in the MANIFEST of the
> executable jar will be ignored, you need need to add everything on
> commandline.
> Just like javadoc, the java executable has an {{@<file>}} option, where you
> can add arguments per line. So this is the new preferred way to build the
> module-path.
> IIUC for surefire it is important to add {{--patch-module
> target/test-classes}} (was: -Xpatch) which makes it possible to use the same
> packages as target/classes.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)