Reputation: 832
I have a maven plugin jar which is already built on another machine , say test-1.0.0.jar . This jar have multiple dependencies like apache,plexus,maven etc . e.g.
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-archiver</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>maven-surefire-common</artifactId>
<version>2.19.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-api</artifactId>
<version>2.19.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.19.1</version>
</dependency>
</dependencies>
Now I want to use this jar for my maven project so I installed it in my local repository. when I install it using 'mvn install:install-file' command , it does not download all required dependencies for the jar in m2 repository. So when I use this plugin in my new maven project , it gives me classNotFound exception.
[WARNING] Error injecting: com.test.status.test.MyTestCompileMojo
java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/util/scan/InclusionScanException
My projects POM -
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.check.status</groupId>
<artifactId>cf</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>com.test.status</groupId>
<artifactId>test</artifactId>
<version>1.0.0</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<dependencies/>
</project>
Upvotes: 0
Views: 1644
Reputation: 30067
You should add your test-1.0.0.jar
dependency into your pom.xml <dependencies>
.
And executing maven with -U
parameter should force a check for missing releases and updated snapshots on remote repositories. For example:
mvn -U clean install
Actually executing the goal dependency:resolve
will only download dependencies without doing anything else.
mvn dependency:resolve
Upvotes: 1
Reputation: 499
Try adding dependencies from test-1.0.0.jar into your maven project.
(pom.xml) test-1.0.0.jar ---copy dependencies---> new maven project
Upvotes: 0