Jump to content
We've recently updated our Privacy Statement, available here ×

3.7 build now failing due to deprecation of JBoss maven repository?


whitemarlin

Recommended Posts

A couple of weeks ago I could build 3.7 from source. Now I can't. I'm getting error messages like

Access denied to: http://repository.jboss.org/maven2/com/jaspersoft/jasperserver/jasperserver-api/3.7.0/jasperserver-api-3.7.0.pom and 'parent.relativePath' points at wrong local POM @ line 8, column 11

I suspect this is due to a recent change in access to the deprecated repository at http://repository.jboss.org/maven2. I've posted a request for help at http://community.jboss.org/wiki/JBossDeprecatedRepository#comment-7761 but received no reply.

Can you help? Please? This is a showstopper.

Link to comment
Share on other sites

  • Replies 15
  • Created
  • Last Reply

Top Posters In This Topic

 I checked and it looks like the old jboss repository was discontinued. Jboss has switched the location path and made a Nexus based repository (and reorganized their repository structure). The older repository was left in place for a while but it looks like it was turned off recently. 

Here is a page on the issue: 

http://community.jboss.org/en/build/blog/2010/04/20/announcement--new-maven-repository-infrastructure

Here is the new location:

https://repository.jboss.org/nexus/content/groups/public

I will need to update our "build-in" maven settings.xml which is found in our <js-src>/buildomatic folder location.

Here is the location which I will change:

<js-src>/buildomatic/conf_source/templates/maven_settings.xml

If you are using out "buildomatic" scripts to carry out the source build (recommended) then you can update the file above and then run: "js-ant clean-config" and "js-ant gen-config"

Or as a quick change, you have modify the generated file in buildomatic/build_conf/default/maven_settings.xml

 

 

 

 

Link to comment
Share on other sites

Thanks, tkavanagh. Should this be working now? I have not located your modified maven_settings.xml. In mine, I made this change:

56c56
<           <url>http://repository.jboss.org/maven2</url>
---
>           <url>https://repository.jboss.org/nexus/content/groups/public</url>
 

and it still doesn't work. (I didn't think it would, since as you say the new repository has been reorganized--it doesn't look like Jasper is even there.)

Link to comment
Share on other sites

  • 2 weeks later...

Hi, maybe there is some confusion about the source code and what is packaged in the source code.

The JasperServer source code will build all of the jasperserver jar files and with create the jasperserver.war file. This is the file that is deployed to an application server (such as tomcat).

Also, database scripts will be created that can generate the database schema (postgresql or mysql) that will be used by JasperServer.

Is there any chance you can use the most current JasperServer source code? We just posted 4.2. There is also a JasperServer-Source-Build-Guide.pdf file. This runs through all the steps to build the code. And I think would make things a lot easier for you.

 

Link to comment
Share on other sites

Also, one other thing is that if you have actually built the 3.7 source previously, then you will have all required dependencies in your maven local repository (~/.m2/repository). So, you will not need to pull anything down from a remote repository such as jboss repo.

I this case you can run the jasperserver maven build with the "-o" option (offline) and then everything should build.

 

Link to comment
Share on other sites

Thanks for the response.

Well, I don't -think- there is confusion, and no, I can't use the current source. We are using 3.7. But the 3.7 distribution has been unbuildable for weeks, as far as I can tell. Do you agree or disagree? If you agree, do you think the 3.7 distribution will ever be buildable again, or is that version essentially dead?

If I unzip the jasperserver-ce-3.7.0-src.zip file, cd into jasperserver-ce-3.7.0-src/jasperserver/buildomatic, and run 'ant -lib install_resources/extra-jars build-ce', I get these errors in the build-ce target:

The project com.jaspersoft.jasperserver.api.common.impl:jasperserver-api-common-impl:3.7.0 (.../jasperserver-ce-3.7.0-src/jasperserver/jasperserver-api-impl/common/pom.xml) has 1 error

Non-resolvable parent POM: Could not transfer artifact com.jaspersoft.jasperserver:jasperserver-api:pom:3.7.0 from/to JBoss (http://repository.jboss.org/maven2): Access denied to: http://repository.jboss.org/maven2/com/jaspersoft/jasperserver/jasperserver-api/3.7.0/jasperserver-api-3.7.0.pom and 'parent.relativePath' points at wrong local POM @ line 8, column 11

The project com.jaspersoft.jasperserver.api.engine.impl:jasperserver-api-engine-impl:3.7.0 (.../jasperserver-ce-3.7.0-src/jasperserver/jasperserver-api-impl/engine/pom.xml) has 1 error

Non-resolvable parent POM: Could not transfer artifact com.jaspersoft.jasperserver:jasperserver-api:pom:3.7.0 from/to JBoss (http://repository.jboss.org/maven2): Access denied to: http://repository.jboss.org/maven2/com/jaspersoft/jasperserver/jasperserver-api/3.7.0/jasperserver-api-3.7.0.pom and 'parent.relativePath' points at wrong local POM @ line 8, column 11

Should I be building some other way?

I just got your latest post while I was composing this one. I have not tried the "-o" option. But since I blew away the Jasper portion of my local repository when the error began happening a couple of weeks ago, I doubt very much that that will work. Regardless, I can't base a general build process for the company on what happens to be in the local repository on one machine.

If you can do anything to make jasperserver-ce-3.7.0-src.zip be buildable again, or tell me if I'm doing anything wrong, I would much appreciate it! Again, this used to work, and now it doesn't.

Thanks!

Link to comment
Share on other sites

Yes, the 'ant -lib install_resources/extra-jars build-ce' shouldn't work.

 

Probably it is best to take a look at the JasperServer-Source-Build-Guide.pdf (which can be found in the <js-src>/docs folder.

The first step in getting the source to build is to get your buildomatic/default_master.properties file setup. It will contain the location to your app server and the login credentials to your database.

Once this is all setup, then you can run the "buildomatic" build commands. (ie ant targets which carry out the build).

The first couple are (i think):

  cd <js-src>/buildomatic

  ant add-jdbc-driver

  ant build-ce

 

 

Link to comment
Share on other sites

Sorry, I just now got time to get back to this. I truly appreciate your taking the time to work with me.

Two things:

First, I was not complete in my description of my build process. In between unzipping the file and running the ant build-ce command, I apply a patch that has the effect of doing all the preparatory steps you mention. This is so I can have a fully scriptable, "turn-key" build process.

Second, and most important, THIS PROCESS WORKED UNTIL A FEW WEEKS AGO, when it began failing with the error messages about being unable to contact the deprecated repository.

So I conclude that the build process requires some resources that were located on the deprecated repository and that are now inaccessible.

What is necessary, it seems to me, is to identify those resources, make them available on some other repository, and change the build process to refer to the new repository instead.

I am fairly confident that I can do the last part (change the build process to refer to the new repository). What I can't do is the first part (identify the resources and make them available elsewhere). That is what I need you to do.

I am also fairly confident that if YOU try the 3.7 build from the distributed zip file (preferably starting with a fresh local repository), then you will encounter the same problem.

Does that make sense?

Thanks again.

Link to comment
Share on other sites

  • 2 weeks later...

Hi, I was able to build from the downloaded 3.7.0 src.zip. I was building under linux and I first removed my (local) .m2/repository just to make sure that all of the dependencies were going to be able to be found.

So, it is verified that there is nothing required from the old and deprecated jboss repository. Probably it would be good to update your buildomatic/build_conf/default/maven_settings.xml to remove the reference to the old jboss repository.

I can load a maven-repository.zip file up to the JasperForge so that you can download it. It is a copy of my locally created local maven repository. So, it will have *all* dependencies required to build 3.7.0 - so maven will not need to go to the internet to get any dependencies.

Also, which version of maven are you running? Unfortunately, I have seen that some maven versions can be unstable when first released. I built with maven 2.2.1. You might try that one.

Link to comment
Share on other sites

Thanks so much, Tony. That's good information. I do use Maven 3.0.3, and I've heard reports of projects that can build from an empty repository with Maven 2 but not Maven 3. I don't suppose you'd like to repeat the experiment with 3.0.3...

FYI, when I comment out the ref to the old repository, I get error messages that are similar but different--messages like

     [exec] [ERROR]     Non-resolvable parent POM: Could not find artifact com.jaspersoft.jasperserver:jasperserver-api:pom:3.7.0 in js-repo-svn (file://<local path omitted>/jasperserver-ce-3.7.0-src/jasperserver-repo) and 'parent.relativePath' points at wrong local POM @ line 8, column 11 -> [Help 2]

In the meantime, yes, I'd appreciate it if you could upload your zipped repository. Also your maven_settings.xml.

Thanks,

Wes

Link to comment
Share on other sites

Belay that. I've resolved that issue.

The key was in the error message "'parent.relativePath' points at wrong local POM". Apparently this was only a warning in Maven 2 but is an error in Maven 3.

I believe the parent is specified incorrectly in two files:

jasperserver-api-impl/common/pom.xml

jasperserver-api-impl/engine/pom.xml

On line 10 of these files, the parent artifactId is specified as 'jasperserver-api'. I believe it should be 'jasperserver-api-impl'.

Now I am on to the next error:

     [exec] [iNFO] Jasper Server API Implementations - Metadata ...... FAILURE [11.142s]

       ...

     [exec] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run (Instrument domain classes) on project jasperserver-api-metadata-impl: Execution Instrument domain classes of goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run failed: Plugin org.apache.maven.plugins:maven-antrun-plugin:1.3 or one of its dependencies could not be resolved: Could not find artifact org.hibernate:hibernate-core:jar:3.3.2.GA-HHH-2763 in codehaus-plugins (http://dist.codehaus.org/)

Link to comment
Share on other sites

I've resolved that issue too. The solution was to go into maven-settings.xml and copy/paste the jasperserver-repo repository as a pluginRepository. I can now build with Maven 3.0.3 again. You might like to try these changes at some convenient time, so you're not limited to Maven 2.2.1 anymore.

I don't fully understand why my Maven 3.0.3 builds used to work. My hypothesis is that I DID at one time build with Maven 2.2.1, and perhaps that put my local repository in a state that Maven 3.0.3 could use. I know of one other project in which that was the case.

I am a little embarrassed. I found notes I wrote back on September 14 in which I said, "The Jasper folks say to use 2.2.1; I use 3.0.3 and it seems to work." So perhaps I should just go back to using 2.2.1.

Thanks for all your help.

Link to comment
Share on other sites

I noticed this same issue with the incorrect pom.xml parent declaration but I didn't get a chance to comment on it. In the older source code there is, in fact, and incorrect reference to a pom file that is not actually the parent of the pom in question. And this was fixed I believe in the 4.1.0 source code. So, it's still present of course in JS 3.7.0 source. 

And, yes, you must have built once with Maven 2.2.1 and then 3.0.x was somehow able to make everything work. 

Oh well, sorry for the trouble on this. There were errors in my code and other external deprecations that all contributed to this!

But it is good that is is working now. 

Next we will have to try and get you to upgrade to 4.1 ;-) The UI looks nice in the 4.0 and later versions :-) 

Regards, 

-Tony

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...