It might happen, that you depend on an artifact that depends on some artifact for that no pom is available. This is (right now) e.g. the case for spring-2.5.6: this depends on javax.ejb.ejb-3.0, whereas only javax.ejb.ejb-api-3.0 is available in the repos.

In such a case (the mentioned pom has no deps itself) you might want to create such a pom from within your buildfile:

def create_pom(art)
  artifact art do |a|
    if !File.exist?(a.name)
      # Create the directory
      mkdir_p File.dirname(a.name)
      # Create and write the pom file
      File.open a.name, "w" do |f|
        f.write <<-XML
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>#{a.group}</groupId>
  <artifactId>#{a.id}</artifactId>
  <version>#{a.version}</version>
</project>
        XML
      end
    end
  end
end

# Now use it:
create_pom 'javax.ejb:ejb:pom:3.0'
  • No labels