I'm trying to setup remote development for my raspberry pi using eclipse.
https://docs.deistercloud.com/content/Technology.50/Internet%20of%20Things/Raspberry%20PI.2/Eclipse.4.xml?embedded=true
When I run my ant build all the Maven downloads default to using these repositories:
HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/apache/maven/apache-maven/2.0.10/apache-maven-2.0.10.pom
I'm aware of the change to Maven that requires these downloads be from HTTPS sources and I've modified everywhere that I can think of to tell Maven to use the updated repositories to no avail. I included the below in my pom.xml:
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
I also followed all the steps here:
Requests to http://repo1.maven.org/maven2/ return a 501 HTTPS Required status and a body
No matter what, when I do the ant build, it forces downloads at the http location and fails.
Any advice?
The project is created in eclipse via new -> other -> maven -> org.apache.maven maven->quickstart
Related
I have an Eclipse project that I am trying to build using Maven, with JAR files that reside on my private Artifactory server and
a few other Maven repositories.
In my POM file (prior to adding my Artifactory repository) I had the repositories specified:
<repositories>
<repository>
<id>third-party</id>
<name>Atlassian 3rdParty</name>
<url>https://repo.spring.io/plugins-release/</url>
</repository>
<repository>
<id>ICM</id>
<name>ICM Repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo/</url>
</repository>
</repositories>
The repositories enable me to access several libraries that I need for the build, including (but not exclusively):
...
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
...
I have a couple of JAR files that I would like to access from my Artifactory server. These files are in a repository I created called
Factor_Snapshot, and there are two of them: factorbase-1.0.0.jar and lowerbase-1.0.0.jar.
In order to get everything through Artifactory (properly using it as a proxy for the remore repositories, I added those repositories to Artifactory. I then used the "set me up" link in an attempt to generate proper entries for the POM file.
One thing I noticed was that I cannot seem to get the generated entries to include the Factor_Snapshot repository. generated entries only seem to include the libs-release and libs-snapshot repos that were there before. When I click on Generate Maven Settings and select a snapshot, I am only allowed to select libs-snapshot, gradle-dev, libs-release, etc. My snapshot repo, Factor_Snapshot, cannot be selected. The generated settings are shown below:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<servers>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>central</id>
</server>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>snapshots</id>
</server>
</servers>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://192,168.1.230:8081/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://192,168.1.230:8081/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://192,168.1.230:8081/artifactory/libs-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://192,168.1.230:8081/artifactory/libs-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
Of course, since there doesn't seem to be a settings.xml file for putting in active profiles in Eclipse, I doubted that I could use this file
anyway. Also: it is unclear how to get the encrypted passwords referenced in the file.
I added the following dependencies, based on how I saw them organized on my Artifactory server:
...
<dependency>
<groupId>com.factor3</groupId>
<artifactId>lowerbase</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.factor3</groupId>
<artifactId>factorbase</artifactId>
<version>1.0.0</version>
</dependency>
...
I believe I set them up correctly. I did get error messages once I saved the POM file saying that the artifacts lowerbase:jar and factorbase:jar were missing. This was expected because I hadn't put in the repository declaration yet.
I did end up guessing about the repo declaration, so I created the following entries in my POM file, based on Artifactory documentation and the way the repo was set up:
<repositories>
<repository>
<id>snapshots</id>
<name>soliandisk</name>
<url>http://192,168.1.230:8081/artifactory/Factor_Snapshot</url>
</repository>
<repository>
<id>third-party</id>
<name>Atlassian 3rdParty</name>
<url>https://repo.spring.io/plugins-release/</url>
</repository>
<repository>
<id>ICM</id>
<name>ICM Repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo/</url>
</repository>
</repositories>
But when I added the Factor_Snapshot repository, now I get failures saying all the JAR file artifacts are missing -- even the factorbase and lowerbase artifacts!
I know I am missing something in the configuration, but I don't know what.
How do I configure Artifactory and my POM file so I can get all my necessary JARs?
Your URL, http://192,168.1.230:8081, contains a comma , instead of a period ..
As you can see in the picture at the end of this post only a few artifacts are available from the JBoss repository in Eclipse. But if you browse it online at https://repository.jboss.org/nexus/index.html#view-repositories;public-jboss~browsestorage there are hundreds. I have rebuilt and updated the index several times. I have checked "Full Index Enabled". I have changed the repository URL from https to http and back. I have searched the web of course but can't fix it. I'm not behind a proxy.
Here is some version information:
Ubuntu 10.10
Eclipse Indigo 3.7.2
Maven 3.0.4
The Maven central repository hosted at Apache is working fine, but the JBoss repository isn't. I have configured Maven with the settings.xml in my ~/.m2/ directory. Whenever I made changes, I have reloaded the settings.xml.
This is my settings.xml
<settings xmlns="http://maven.apache.org/settings/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>jboss-public-repository</id>
<repositories>
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>jboss-public-repository</activeProfile>
</activeProfiles>
</settings>
The Maven Repository Browser looks like this
Maven Repository Browser with very few artifacts in the JBoss repository
I have saved the configuration at the bottom in c:\users\username\.m2\settings.xml but pom.xml created as part of Maven Project in Eclipse is not picking up the values. The effective POM still has
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2</url>
</repository>
</repositories>
And what should be the http://ebr.springsource.com/respository equivalent of
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Maven Plugin Repository</name>
<url>http://repo1.maven.org/maven2</url>
</pluginRepository>
</pluginRepositories>
settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<repositories>
<repository>
<id>com.springsource.repository.bundles.release</id>
<name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
<url>http://repository.springsource.com/maven/bundles/release</url>
</repository>
<repository>
<id>com.springsource.repository.bundles.external</id>
<name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
<url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
</repositories>
</settings>
you should add it to the home folder of the user who executes mvn command
By default your settings.xml is being looked up in:
The Maven install: $M2_HOME/conf/settings.xml
A user's install: ${user.home}/.m2/settings.xml
You could see below error that Im getting while compiling an EJB example that I'm trying to run with JBoss AS.
From error I could understand that repository URL specified is wrong. What I'm not getting is how can I find from where this URL is coming? Is this URL in any of the existing POM file in my repository/projects?
Also artifact version is "${version.jboss.messaging}". This is bit strange and I'm not able to find out where this version is specified?
Need some help here.
[ERROR] Failed to execute goal on project jboss-ejb3-examples-ch04-firstejb: Could not resolve dependencies for project org.jboss.ejb3.examples:jboss-ejb3-examples-ch04-firstejb:jar:1.1.0-SNAPSHOT: Failed to collect dependencies for [org.jboss.ejb3:jboss-ejb3-api:jar:3.1.0-Alpha1 (compile), junit:junit:jar:4.8 (compile), org.jboss.logging:jboss-logging-log4j:jar:2.0.6.GA (compile), org.jboss.logging:jboss-logging-spi:jar:2.0.5.GA (compile), org.jboss.arquillian.container:arquillian-openejb-embedded-3.1:jar:1.0.0.Alpha5 (test), org.jboss.arquillian:arquillian-junit:jar:1.0.0.Alpha5 (test), org.apache.openejb:openejb-core:jar:3.1.4 (test), javax.inject:javax.inject:jar:1 (test), org.jboss.jbossas:jboss-as-profileservice-client:pom:6.0.0.Final (compile), org.jboss.arquillian.container:arquillian-jbossas-remote-6:jar:1.0.0.Alpha5 (compile), org.jboss.jbossas:jboss-as-client:pom:6.0.0.M1 (compile)]:
Failed to read artifact descriptor for jboss.messaging:jboss-messaging:jar:${version.jboss.messaging}: Could not transfer artifact jboss.messaging:jboss-messaging:pom:${version.jboss.messaging} from/to repository.jboss.org (http://repository.jboss.org/maven2): Access denied to: http://repository.jboss.org/maven2/jboss/messaging/jboss-messaging/${version.jboss.messaging}/jboss-messaging-${version.jboss.messaging}.pom -> [Help 1]
This is my repository element in POM:
<repositories>
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
<repository>
<id>jboss-deprecated-public-repository-group</id>
<name>JBoss Deprecated Public Maven Repository Group</name>
<url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
Point your JBoss Repository to: https://repository.jboss.org/nexus/content/groups/public-jboss/ instead of http://repository.jboss.com/maven2
<repository>
<id>JBoss Repo</id>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
<name>JBoss Repo</name>
</repository>
In our company we have an internal maven repository. The IDE used is eclipse.
The link to the internal maven repository is http://machinename:8080/artifactory
Can someone please help me how to connect to this internal maven repository and also what all changes are to be made on the eclipse to use this?
You need to update your Maven settings.xml file to use the internal Artifactory repo, instead of the global maven repository.
In Eclipse go to Window > Preferences > Maven > User Settings and edit the settings.xml file to contain your repository. e.g.
<profile>
<id>profile_name_here</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>profile_id_here</id>
<name>artifactory</name>
<url>http://machinename:8080/artifactory</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
</profile>