On 26 November 2010 11:26, raphael.jolivet <raphael.joli...@gmail.com>wrote:
> > Hello, > > In my project, I have a dependency over log4j 1.2.16. > In maven central, it comes as a "bundle" package type : > I'm not sure what it really is: > Is it just a big jar with all dependencies included ? > > Anyway, I have added it to my POM, but maven fails at finding it on the > repository. > I think you're confusing the project's packaging (which controls the build lifecycle) with the artifact's type (its extension) The log4j:log4j:1.2.16 project declares its packaging as "bundle", because it uses the lifecycle defined in the maven-bundle-plugin to produce an artifact that can deployed onto OSGi frameworks. However the type of this artifact is "jar" because it is still a JAR file - it just uses a different lifecycle to check and generate the JAR, and this lifecycle also adds the appropriate OSGi metadata to the artifact. The main artifact on Maven central has type (extension) "jar" so that's the value you should use in your <type> segment (or just omit <type> as jar is the default). [ see also https://repository.sonatype.org/index.html#nexus-search;quick~log4j <-- the main artifact extension/type is shown as "jar" ] HTH It searches for some log4J.<version>.bundle, whereas there is actually a > log4J.<version>.jar. > > Here is a part of my POM: > > ======================================== > <dependency> > <groupId>log4j</groupId> > <artifactId>log4j</artifactId> > <version>1.2.16</version> > <type>bundle</type> > <scope>compile</scope> > </dependency> > ======================================== > > > And the error I get (with mvn compile): > > > ==================================================== > [[INFO] Scanning for projects... > [INFO] > ------------------------------------------------------------------------ > [INFO] Building sdr > [INFO] task-segment: [compile] > [INFO] > ------------------------------------------------------------------------ > [INFO] [resources:resources {execution: default-resources}] > [WARNING] Using platform encoding (Cp1252 actually) to copy filtered > resources, i.e. build is platform dependent! > [INFO] skip non existing resourceDirectory > d:\Users\raphael\eclipse-workspace\sdr\src\main\resources > Downloading: > http://download.java.net/maven/2//log4j/log4j/1.2.16/log4j-1.2.16.bundle > [INFO] Unable to find resource 'log4j:log4j:bundle:1.2.16' in repository > java.net (http://download.java.net/maven/2/) > Downloading: > > file:///v:/maven/repositories/third-party//log4j/log4j/1.2.16/log4j-1.2.16.bundle > [INFO] Unable to find resource 'log4j:log4j:bundle:1.2.16' in repository > third-party (file:///v:/maven/repositories/third-party/) > Downloading: > http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.bundle > [INFO] Unable to find resource 'log4j:log4j:bundle:1.2.16' in repository > central (http://repo1.maven.org/maven2) > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] Failed to resolve artifact. > > Missing: > ---------- > 1) log4j:log4j:bundle:1.2.16 > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=log4j -DartifactId=log4j > -Dversion=1.2.16 -Dpackaging=bundle -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the file > there: > mvn deploy:deploy-file -DgroupId=log4j -DartifactId=log4j > -Dversion=1.2.16 -Dpackaging=bundle -Dfile=/path/to/file -Durl=[url] > -DrepositoryId=[id] > > Path to dependency: > 1) fr.armines.anemos:sdr:jar:0.0.1-SNAPSHOT > 2) log4j:log4j:bundle:1.2.16 > > ---------- > 1 required artifact is missing. > > for artifact: > fr.armines.anemos:sdr:jar:0.0.1-SNAPSHOT > > from the specified remote repositories: > third-party (file:///v:/maven/repositories/third-party/), > central (http://repo1.maven.org/maven2), > java.net (http://download.java.net/maven/2/) > > ============================================= > > > You can have a look at the central repository : > http://repo1.maven.org/maven2/log4j/log4j/1.2.16/ > The "jar" file is there, but there is not "bundle" file. > > In the POM > (http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.pom), the > packaging is reported as "bundle". > > So who is right ? The central repository or my maven client ? > > Thanks in advance for your help, > > > -- > Raphael > > Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) > Java version: 1.6.0_21 > Java home: c:\Program Files\Java\jre6 > Default locale: fr_FR, platform encoding: Cp1252 > OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows" > > > > > > > > > > > > > -- > View this message in context: > http://maven.40175.n5.nabble.com/log4j-log4j-bundle-1-2-16-Bundle-or-JAR-tp3281135p3281135.html > Sent from the Maven - Users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > -- Cheers, Stuart