2

I'm making a standard set of libraries for myself, (common data structures, services, and other utilities) I use very regularly and end up redefining.

Since I don't need everything every time, I've set up a BOM project and other discrete modules so I can only pull in the things I need when I need them.

The problem I'm running into is with my BOM module. When I run a mvn package or mvn release related command my parent pom and bom pom fail.

[ERROR] error: source file or directory not found: /Users/paul.baker/projects/personal/paulbaker-common-libs/src/main/java
[ERROR] warning: classpath entry points to a non-existent location: /Users/paul.baker/projects/personal/paulbaker-common-libs/target/classes

The error makes sense to a degree. It's telling me it failed to find source code for these modules, but they're not intended to have java source. They're only supposed to be POM files (they've been set as such via <packaging>pom</packaging>).

It seems like I'm missing some configuration, but I can't seem to find the right flag to set.

The project structure is:

parent
- bom
- data-structures
- aws-data-structures
- aws-data-service

but here is the relevant git repository, in case there are more needed details I'm overlooking.

Karol Dowbecki
  • 43,645
  • 9
  • 78
  • 111
Niko
  • 4,158
  • 9
  • 46
  • 85

1 Answers1

2

Looking at BOM for Spring Framework 5.1.4.RELEASE <packaging>pom</packaging> is all that is needed.

Your problem comes from declaring non-standard plugins in the root pom.xml e.g. dokka-maven-plugin or maven-gpg-plugin. These plugins are inherited by bom module but don't support <packaging>pom</packaging> in their current configuration so they fail to execute. Standard Maven plugins work out of the box.

Either you have to move these plugins outside of root pom.xml or they have to be disabled in bom module.

Karol Dowbecki
  • 43,645
  • 9
  • 78
  • 111
  • Looks like that was the root of my problem, I still need to tweak the configurations but I now understand the heart of the problem was my plugin organization. Much appreciated! – Niko Jan 21 '19 at 22:52
  • Link to Spring BOM is bad – code Aug 30 '23 at 21:32