0

I'm getting an error upon running maven install, or maven clean on the following POM file in a graphical Camel Project. I'm using Red Hat JBoss Developer Studio

My pom flie is as follows

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany</groupId>
  <artifactId>camel-blueprint</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>bundle</packaging>
  <name>Camel Blueprint Quickstart</name>
  <description>Empty Camel Blueprint Example</description>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

    <properties>
    <camel.version>2.17.3</camel.version>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <version.maven-bundle-plugin>2.3.7</version.maven-bundle-plugin>
    **<jboss.fuse.bom.version>6.3.0.redhat-187</jboss.fuse.bom.version>**
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties> 



  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.jboss.fuse.bom</groupId>
        <artifactId>jboss-fuse-parent</artifactId>
        <version>${jboss.fuse.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <version>2.17.3</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-blueprint</artifactId>
      <version>2.17.3</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.5.4</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
        <version>2.7</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-test-blueprint</artifactId>
      <version>2.17.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>


  <repositories>

    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>fuse-public-repository</id>
      <name>FuseSource Community Release Repository</name>
      **<url>https://repo.fusesource.com/nexus/content/groups/public</url>**
    </repository>

    <repository>
            <id>redhat-ea-repository</id>
            <url>https://maven.repository.redhat.com/earlyaccess/all</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>

    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>red-hat-ga-repository</id>
      <name>Red Hat GA Repository</name>
      <url>https://maven.repository.redhat.com/ga</url>
    </repository>

  </repositories>

  <pluginRepositories>

    <pluginRepository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>fuse-public-repository</id>
      <name>FuseSource Community Release Repository</name>
      <url>https://repo.fusesource.com/nexus/content/groups/public</url>
    </pluginRepository>

    <pluginRepository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>red-hat-ga-repository</id>
      <name>Red Hat GA Repository</name>
      <url>https://maven.repository.redhat.com/ga</url>
    </pluginRepository>

  </pluginRepositories>


  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${version.maven-bundle-plugin}</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>cameltry</Bundle-SymbolicName>
            <Bundle-Name>Empty Camel Blueprint Example [cameltry]</Bundle-Name></instructions></configuration>
      </plugin>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.0.1</version>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-maven-plugin</artifactId>
        <version>${camel.version}</version>
        <configuration>
          <useBlueprint>true</useBlueprint>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

The error message I get in the console is as follows

Non-resolvable import POM: Failure to find org.jboss.fuse.bom:jboss-fuse-parent:pom:6.3.0.redhat-187 in https://(our nexus repository)/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of (our nexus repository).com has elapsed or updates are forced @ line 29, column 19 -> [Help 2] [ERROR]

Any and all help will end my long search in order to solve the issue, and thus attain my eternal gratitude.

P.S. I have already gone through the maven configuration in order to get the required dependancy profiles set up as advised on the Redhat Documentation Website

2nd Version POM based on recommendations as of 28.12.16 1500 hours CET.

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany</groupId>
  <artifactId>camel-blueprint</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>bundle</packaging>
  <name>Camel Blueprint Quickstart</name>
  <description>Empty Camel Blueprint Example</description>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

    <properties>
    <camel.version>2.17.3</camel.version>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <version.maven-bundle-plugin>2.3.7</version.maven-bundle-plugin>
    **<jboss.fuse.bom.version>6.3.0.redhat-189</jboss.fuse.bom.version>**
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties> 



  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.jboss.fuse.bom</groupId>
        <artifactId>jboss-fuse-parent</artifactId>
        <version>${jboss.fuse.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <version>2.17.3</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-blueprint</artifactId>
      <version>2.17.3</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.5.4</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
        <version>2.7</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-test-blueprint</artifactId>
      <version>2.17.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>


  <repositories>

    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>fuse-public-repository</id>
      <name>FuseSource Community Release Repository</name>
      **<url>https://repository.jboss.org/nexus/content/groups/ea/org/jboss/fuse/bom/jboss-fuse-parent/</url>**
    </repository>



      <!--<repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>6.3.0 jboss parent</id>
      <name>jbp</name>
      <url>https://repository.jboss.org/nexus/content/groups/ea/org/jboss/fuse/bom/jboss-fuse-parent/ /</url>
    </repository>  -->

          <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>Jboss Fuse snapshots repo</id>
      <name>JFSR</name>
      <url>https://repo.fusesource.com/nexus/content/groups/public-snapshots/</url>
    </repository>



    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>red-hat-ga-repository</id>
      <name>Red Hat GA Repository</name>
      <url>https://maven.repository.redhat.com/ga</url>
    </repository>

  </repositories>

  <pluginRepositories>

    <pluginRepository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>fuse-public-repository</id>
      <name>FuseSource Community Release Repository</name>
      <url>https://repo.fusesource.com/nexus/content/groups/public</url>
    </pluginRepository>

    <pluginRepository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>red-hat-ga-repository</id>
      <name>Red Hat GA Repository</name>
      <url>https://maven.repository.redhat.com/ga</url>
    </pluginRepository>

  </pluginRepositories>


  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${version.maven-bundle-plugin}</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>cameltry</Bundle-SymbolicName>
            <Bundle-Name>Empty Camel Blueprint Example [cameltry]</Bundle-Name></instructions></configuration>
      </plugin>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.0.1</version>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-maven-plugin</artifactId>
        <version>${camel.version}</version>
        <configuration>
          <useBlueprint>true</useBlueprint>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
Kenster
  • 23,465
  • 21
  • 80
  • 106
BEvo
  • 357
  • 6
  • 18

2 Answers2

1

The issue was resolved. The problem was that maven was being directed by my settings.xml to look for the files in our repo instead of the jboss repos. This was because the configuration for settings.xml which told maven that these repos were not mirrored in our nexus was missing. Hence adding '!jbossRepo(X)' in the mirrorOf section of my settings.xml told maven that these were not mirrored in our nexus and the following profiles should be searched for these files.

The said profiles can be configuered in your settings.xml by following the instructions on this link.

So if you're trying to run jBoss Red hat developer Studio from behind a plethora of proxies like me, simply,

  1. Configure maven for the studio with the above link.
  2. Add the '!jbossRepos(x)' in the mirrors block, in front of 'mirrorsOf' in the settings.xml file.
  3. Done!

Thanks to RobE, for pointing me in the right direction. I'm indebted.

BEvo
  • 357
  • 6
  • 18
0

Check with your browser if the dependency org.jboss.fuse.bom:jboss-fuse-parent:pom:6.3.0.redhat-187 exists in any of the repositories you are using. Does your nexus repo contain (exactly!) this artifact?

If yes: The reason can be failed authentication or connectivity. Ensure your credentials for this repo are configured correctly and the repo grants your account permission to the artifact. (also consider potential proxy issues)

Running the build with parameter -X may help to get more info.

If no: (The repo in your pom does not contain version 187: https://repo.fusesource.com/nexus/content/groups/public/org/jboss/fuse/bom/jboss-fuse-parent/ ) Add a repo which contains the missing artefact or (if acceptable) change the artefact to a version which exists in your repo.

https://repository.jboss.org/nexus/content/groups/ea/org/jboss/fuse/bom/jboss-fuse-parent/ is a candidate but it does not contain the exact version 187. Is a change to version 6.3.0.redhat-187-05 acceptable?

rob2universe
  • 7,059
  • 39
  • 54
  • Thankyou for your prompt response. First off, no our nexus repo does not contain the artifact, confirmed by searching. Second, I made the folowing changes in my pom file according to above recommendations in the 'no' case since my proxy settings appear to be fine. 6.3.0.redhat-187 . changed to . 6.3.0.redhat-189 and, https://repo.fusesource.com/nexus/content/groups/public changed to the the url https://repository...groups/ea/org/jboss/fuse/bom/jboss-fuse-parent/ – BEvo Dec 28 '16 at 13:16
  • But I'm still getting the same problem. Maven appears to be searching for the pom in our nexus repo. Is there a way to force check the url at https://repository.jboss.org/nexus/content/groups/ea/org/jboss/fuse/bom/jboss-fuse-parent/ ?! – BEvo Dec 28 '16 at 13:18
  • please share the uodate POM. Have you checked the the output (with -X parameter)? Do you see if Maven is contacting the new jboss repo? – rob2universe Dec 28 '16 at 13:35
  • I will admit that I am a newbie in the Maven universe. How does one check the output with -x parameter?! I tried googling but couldnt find a direct answer. I'm currently using the m2e plugin. Also, updated POM file has also been posted in the question as an edit. – BEvo Dec 28 '16 at 14:05
  • Please open a command line in the project folder where your POM resides, run e.g. "mvn package -X" and inspect the output. you should see how maven is contacting the different repositories one after another and what the results are. – rob2universe Dec 28 '16 at 15:43
  • I got the command line to work and ran the command mvn package -X. The results show that maven attempts to search for the required repo 'in' our nexus repo but is not attempting to connect the jboss repos at all. It does however attempt to write a 'tracking file', which is as follows. [DEBUG] Writing tracking file C:\Users\shu1imb\workspace\localRepository\org\jbo ss\fuse\bom\jboss-fuse-parent\6.3.0.redhat-189\jboss-fuse-parent-6.3.0.redhat-18 9.pom.lastUpdated Other than this, there is no direct reference to the jboss repo. – BEvo Dec 30 '16 at 07:57
  • If you can see how Maven is trying to contact the different maven repositories but the repository which you would like it to contact is not listed then: check if you modified the correct settings.xml / pom, check if you are running maven in the correct folder (where the right POM is), check if the repository is only included in certain profiles, try adding the repo via the commandline parameter -Dmaven.repository e.g. mvn package -Dmaven.repository=http://yourrepourl.com/m2 – rob2universe Jan 03 '17 at 10:13
  • The issue was resolved. The problem was that maven was being directed by my settings.xml to look for the files in my repo instead of the jboss repos. This was because the configuration for settings.xml which told maven that these repos were not mirrored in our nexus was missing. Hence adding '!jbossRepo(X)' in the mirrorOf section of my settings.xml told maven that these were not mirrored in our nexus and the following profiles should be searched for these files. – BEvo Jan 03 '17 at 11:48
  • The said profiles can be configuered in your settings.xml by following the instructions on this link https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html-single/Getting_Started_Guide/index.html#Configure_Maven_for_Use_with_JBoss_Developer_Studio – BEvo Jan 03 '17 at 11:48