Anyone any thoughts on this? I have posted the same in stackoverflow <https://stackoverflow.com/questions/57891875/how-to-add-test-jar-and-jar-as-dependency-in-a-maven-multimodule-project> also with a lot more details. But did not get much help there also.
On Wed, Sep 11, 2019 at 8:30 PM Debraj Manna <[email protected]> wrote: > I have a maven multimodule project of the form > > - main > - storage > - storage-config > - storage-utils > - storage-common > - tools > > I have a class `com.vnera.storage.config.Embedded.java` residing under > test folder in `storage-config` which I want to use in `storage-utils` > under `test` scope. `storage-utils` also needs `storage-config` in main > phase. > > I have added the below section in `storage-config` pom and I am seeing > `test-jar` of `storage-config` is getting generated. > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-jar-plugin</artifactId> > <version>2.4</version> > <executions> > <execution> > <goals> > <goal>test-jar</goal> > </goals> > </execution> > </executions> > </plugin> > > `storage-utils` pom looks like below > > <?xml version="1.0" encoding="UTF-8"?> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd"> > <modelVersion>4.0.0</modelVersion> > > <parent> > <groupId>com.vnera</groupId> > <artifactId>storage</artifactId> > <version>0.001-SNAPSHOT</version> > </parent> > > <packaging>jar</packaging> > <artifactId>storage-utils</artifactId> > <name>utils</name> > > <dependencies> > <dependency> > <groupId>com.github.fge</groupId> > <artifactId>json-patch</artifactId> > <version>1.9</version> > </dependency> > <dependency> > <groupId>com.vnera</groupId> > <artifactId>storage-config</artifactId> > <version>${main.version}</version> > </dependency> > <dependency> > <groupId>com.vnera</groupId> > <artifactId>storage-config</artifactId> > <version>${main.version}</version> > <type>test-jar</type> > <scope>test</scope> > </dependency> > </dependencies> > <build> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <version>${mvn.surefire.plugin.version}</version> > <configuration> > <skipTests>true</skipTests> > </configuration> > <dependencies> > <dependency> > <groupId>org.apache.maven.surefire</groupId> > <artifactId>surefire-junit47</artifactId> > > <version>${mvn.surefire.plugin.version}</version> > </dependency> > </dependencies> > </plugin> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-jar-plugin</artifactId> > <version>2.4</version> > <executions> > <execution> > <goals> > <goal>test-jar</goal> > </goals> > </execution> > </executions> > </plugin> > </plugins> > </build> > </project> > > My compilation is running fine. But whenever I am trying to access > `Embedded.java` from a class in `storage-utils` in `test` scope. I am > getting `NoClassDefFoundError` for `Embedded.java`. > > Can someone let me know what is going wrong and how can I solve this? > > Maven Version - 3.5.3 >
