Maven repository for Eclipse BIRT runtime - eclipse

I'm trying to find a maven repo to allow me to add BIRT reporting dependencies to a Eclipse Dynamic Web project.
The closest I've found is http://repository.jboss.org/maven2/org/eclipse/birt/, but when that repo is added to the m2eclipse indexes, the BIRT artifacts are not found. As per http://dev.eclipse.org/newslists/news.eclipse.technology.m2e/msg00389.html (I'm not the author of the post there, that was just my source for the repo link)
I'm using, or trying to, BIRT 2.3.2

How are you defining your dependencies? and what types specifically are you looking for?
Looking at the repository, it contains the Birt jars and poms. If this is a standard Maven project you are able to declare the dependency as normal. So to reference core-api you should just have to do:
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>coreapi</artifactId>
<version>2.3.2</version>
</dependency>
and ensure the repository is configured correctly in your settings or POM.
Can you post your POM and the trace from the build? it might help diagnose the problem.
Update: Based on your comment, it looks like the issue is that the JBoss Nexus index does not have the Birt projects on it. The dates for the index and both versions of Birt (all artifacts for 2.3.2 and 2.2.2) are both 8th July, and the index is only 83 minutes younger.
Creation of the Nexus index is not automatic, so perhaps the indexer was run before the Birt artifacts were deployed and then published afterwards.

Below maven dependency worked for me perfectly.
<repositories>
<repository>
<id>sonatype-nexus-releases</id>
<name>Sonatype Nexus Releases</name>
<url>https://oss.sonatype.org/content/repositories/releases/</url>
</repository>
</repositories>
It worked for me for birt 3.7.1, try replacing version as per your need.
Thanks

Related

Apache Beam maven dependencies: jdbc package is not downloaded in skd jar file

Downloaded maven dependecies in eclipse using
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-runners-direct-java</artifactId>
<version>0.3.0-incubating</version></dependency>
<dependency>
Only org.apache.beam.sdk.io,Only org.apache.beam.sdk.io.range are downloaded.
but .io.jdbc is not being downloaded in dependencies.
Is there any other specific artifactId I have to use for this other than the above mentioned?
Apache Beam (incubating) publishes several convenience binaries to Maven Central Repository with every release.
There isn't an artifact that captures the whole project. Instead, you should be using specific components that you actually need (perhaps core SDK, any additional libraries, and a runner).
Specifically, if you'd like to use Beam's JDBC connector, depend on the following artifact (among other things):
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-jdbc</artifactId>
<version>${some_version}</version>
<dependency>
Also, we are currently adding Quickstart to our webpage, which will cover some of this information. At this moment, this is still work-in-progress.
You can Directly Download the jar file and put it into your project library. The link to download is-
Org.apache.beam.sdk.io.java.jdbc

Need to get updated maven archetype catalog inside Eclipse - Maven Project

As trying out to learn new things, I have configured external Maven 3.3.9 to my eclipse.
When I am creating a maven web application using Eclipse new Maven Project -> Select an Archetype I could find that existing ArtifactId from the ecplise maven Archetype catalog is of maven-archetype-webapp - version 1.0
if I proceed with this, I get a project structure with web.xml that is below
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
and not up to date with the latest **
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
also the JRE is pointing 1.5
Please find the screenshot:
I believe if i am using the latest maven-archetype-webapp could resolve this problem, If not please correct me.
I wonder how to update this catalog list of archetype version to match the latest Webapp and its structure.
Should I upload it from some remote catalog? or after the project structure is created. I should manually change the JRE and other things manually?
Can any one please guide me with steps to do this. I will be really thankful.
You probably need to update your remote repositories indexes.
There are a few ways to do it. On menu Window -> Preferences -> Maven check the option 'Download repository index updates on startup'. Restart Eclipse and see if indexes are being updated. In other way: open 'Maven Repositories' window. Then click on 'central' repository and use the options 'Update index' and 'Rebuild index'.
Later you should found the lastest Archetypes from Maven Central when you create a new Maven Project from Archetype.
See this answer: https://stackoverflow.com/a/14063863/597200
The archetypes that show up in Eclipse are from maven.org. Generally, I would think that the latest versions of the archetype have been pushed to maven.org, so you should be getting the latest files. If you can track down the source code, then you can check. Typically, for an archetype, the location of the source files will be in the pom.xml file, so look in there. Since the archetype is hosted on Maven Central, you can look at the pom.xml file by looking up the archetype by it's groupId and artifactId there.
If you want to change the archetype's files, you will need to contact the author of the archetype and suggest a change. If the archetype is from github.com, for example, you could fork the archetype, make the change, and request a pull. You could also submit a bug/issue report. If the archetype's author does not have the archetype in open source, perhaps they run a bug reporting site for their products, like a jira.
Finally, of course, you can write you own archetype and upload it to The Central Repository yourself.
EDIT: It doesn't matter what version of Maven you are using, Eclipse will get the archetype list from maven.org by default. See How does the Archetype Plugin know about archetypes?.

Maven and dependency

I cannot quite understand what we need maven for and what dependency is.
Could anyone explain in simple words what means? Where does it look for them?
When writing:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.0.0</version>
</dependency>
It tells:
Missing artifact org.eclipse.persistence:eclipselink:jar:2.0.0
What does it mean?
I have 2 versions of maven installed on my system - one for the cmd, the second one as a plugin for eclipse. What is the difference? Which way is it more common to use Maven - from the cmd or from eclipse?
And I read somewhere that maven needs connection to the internet - what is that for?
I guess you are newbie to Maven, I would suggest you to go through the following links
What is Maven?
DeveloperWorks article
Article in Java World
More Maven articles
Maven is a build tool (like ant) which can pull specific versions of libraries and other dependencies from an online server. If you want to use methods which are in a library (even an older version of it) you don't need to install the library on your computer, maven will grab the specified version and store it for you. You can even have two projects which use two different versions of the same library and not have any conflicts, as maven will handle all the libraries for you.
The code you have specifies that you will be using version 2.0.0 of the eclipselink library. Maven will search for that version of that library, first in its cache of libraries and then in the online database, and compile your code along with the library, so your classes have access to the library methods.
I don't think either the command line or eclipse plugin are more popular - I use mostly command line but have both installed.
As to why maven is indicating that your dependencies is missing, you can use http://mvnrepository.com to find dependencies in the maven central repository. Searching for "org.eclipse.persistence" reveals that might actually be needing:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.0.0</version>
</dependency>

Maven repository for BIRT 2.6.0

Is there a Maven repository for BIRT 2.6.0 that I could point to?
I'm working on it. See my blog for progress or try the first RC at http://maven.eclipse.org/nexus/content/repositories/testing/.
The project also comes with a set of tools to convert Eclipse bundles into Maven artifacts.
No, there is not any. In our project we simply downloaded BIRT runtime and installed all required artifacts in our central repository, and everyone references it.
I'm not aware of a public repository offering Birt 2.6. The only one I know is:
http://repository.jboss.org/nexus/content/groups/public-jboss/org/eclipse/birt/
But the latest version available in there is 2.3.2.
Yet I also couldn't found any Maven repository for retrieve all BIRT related dependencies, but I am using some method to retrieve BIRT related dependencies by configuring Maven properties in pom.xml as follow, please use this URL for more detail http://eclipse.dzone.com/tips/birt-maven
<properties>
<birt.runtime.location>/home/channa/Desktop/birt-runtime-2_6_1/WebViewerExample</birt.runtime.location>
<birt.runtime.libs>${birt.runtime.location}/WEB-INF/lib</birt.runtime.libs>
<birt.runtime.platform>${birt.runtime.location}/WEB-INF/platform</birt.runtime.platform>
<birt.runtime.version>2.6.1</birt.runtime.version>
</properties>
<!-- BIRT runtime 2.6.1 related dependencies -->
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>axis</artifactId>
<version>${birt.runtime.version}</version>
<scope>system</scope>
<systemPath>${birt.runtime.libs}/axis.jar
</systemPath>
</dependency>

gwt maven plugin - unable to run archetype generated sample project in eclipse

I'm trying to setup a new gwt project in Eclipse (3.4 Ganymede) using maven with the codehause gwt-mave-plugin (v. 1.1).
I have installed the Google Eclipse Plugin including the Google App Engine Java SDK 1.2.2, the Google Plugin for Eclipse 3.4 and the Google Web Toolkit SDK 1.7.0.
I'm using the gwt-maven-plugin archetype to generate a sample project as specified here.
I have successfully generated the project files and imported them as a maven project into eclipse. I have then generated a launch script using mvn: gwt:eclipse as specified here: mojo.codehaus.org/gwt-maven-plugin/user-guide/hosted.html.
The genereated launch script gets recognized by the Google Eclipse Plugin which tries to launch it as a gwt app when right-clicking and choosing run. However, the app fails to start with the following error:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/appengine/tools/development/DevAppServerMain
Does anyone know what I'm missing here? Any help or links to other resources of information would be greatly appreciated!
Thanks,
Joakim
The solution was embarrassingly simple. I had forgotten to mark the eclipse project as a GWT project (done by right-clicking on the project, choosing Google -> Web Toolkit Settings and checking a box). This caused the required classes to appear in the classpath as expected.
It appears the appengine package is not in your classpath. I personally have never used GWT but a quick google turned up this:
<parent>
<groupId>com.google</groupId>
<artifactId>google</artifactId>
<version>1</version>
</parent>
That was from googles site. You need to inherit from their pom perhaps. I am assuming that is what the archetype should have been doing. You may want to take a look at this.
You will need to add references to the Google Maven repository so the dependencies and parent POM can be downloaded.
<pluginRepositories>
<pluginRepository>
<id>gwt-maven</id>
<url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>gwt-maven</id>
<url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url>
</repository>
</repositories>