Moro, you wrote in a comment that X has the following dependency:
<dependency> <groupId>Y</groupId> <artifactId>Y</artifactId> <scope>provided</scope> <version>1.0</version> </dependency>
First point. Here you use the "fixed" version (as opposed to the " SNAPSHOT "). When using SNAPSHOT maven automatically captures the last SNAPSHOT every time you create. On the other hand, when you use 1.0, once maven has downloaded this artifact, it never tries to get a new 1.0. Thus, you should increase the Y-version or, if Y is in active development (improvements, bug fixes, etc.), you really should use SNAPSHOT . For more information about SNAPSHOT see Section 9.3.1.2. Versions of the SNAPSHOT Sonatip Book:
Why would you use this? Snapshot versions are used for active development projects. If your project depends on a software component that is being actively developed, you may depend on the release of SNAPSHOT and Maven will periodically try to download the last snapshot from when you start the build. Similarly, if the next release of your system has a version of "1.4", your project will have a version of "1.4-SNAPSHOT" until it has been officially released.
Second point. You are using the provided scope. According to chapter 9.4.1. Dependency Area :
provided dependencies are used when you expect the JDK or container to provide them. For example, if you were developing a web application, you would need the servlet API on the classpath compilation to compile the servlet, but you would not want to include the servlet API in a packaged WAR; Servlet API provided by your application server or servlet container. provided dependencies are available on classpath compilation (not runtime). They are not transitive and are not packaged.
Is this really what you want? How do you post X and Y on JBoss? Shouldn't the default compile area be used?
source share