Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.0.1
-
None
-
None
-
Apache Archiva 1.0.1
$ uname -a
Linux <hostname> 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
$ java -version
java version "1.5.0_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_15-b04, mixed mode)
$ mvn -version
Maven version: 2.0.8
Java version: 1.5.0_15
OS name: "linux" version: "2.6.18-8.el5" arch: "amd64" Family: "unix"
Apache Archiva 1.0.1 $ uname -a Linux <hostname> 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux $ java -version java version "1.5.0_15" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04) Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_15-b04, mixed mode) $ mvn -version Maven version: 2.0.8 Java version: 1.5.0_15 OS name: "linux" version: "2.6.18-8.el5" arch: "amd64" Family: "unix"
Description
I've started using classifiers with some of my native libraries. The Web application does not represent the classifier, and the artifact is not downloadable from the web application. My builds are occurring correctly, so Maven has no difficulty retrieving the artifacts.
As an example, I have put the following into my local Archiva repository:
reutersRFA:libFDacsLIB:5.1:solaris
reutersRFA:libFDacsLIB:5.1:linux_2x
reutersRFA:libFDacsLIB:5.1:linux_3x
The deploy command I use to achieve this was:
mvn deploy:deploy-file -Dfile=libFDacsLib.so -DgroupId=reutersRFA -DartifactId=libFDacsLib -Dversion=5.1 -Dpackaging=so -Dclassifier=solaris -DgeneratePom=true -DrepositoryId=archiva.default -Durl=http://invldnlspare1:9100/archiva/repository/internal/
et. sim for -Dclassifier=linux_2x and -Dclassifier=linux_3x
In the archiva repository filesystem I see:
$ find /appdata/archiva -name "libFDacsLib"
./data/repositories/internal/reutersRFA/libFDacsLib
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1.pom
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-linux_3x.so.md5
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-solaris.so.sha1
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-linux_2x.so
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1.pom.sha1
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-linux_2x.so.sha1
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-linux_3x.so.sha1
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-linux_3x.so
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-solaris.so
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-linux_2x.so.md5
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1.pom.md5
./data/repositories/internal/reutersRFA/libFDacsLib/5.1/libFDacsLib-5.1-solaris.so.md5
$
Note that there is only one *.pom, and there is no ".so" without a classifier extension.
In the web gui I can browse as far as
[top] / reutersRFA / libFDacsLib / 5.1
Inside this I see a POM Dependency Snippet which does not mention the classifier:
<dependency>
<groupId>reutersRFA</groupId>
<artifactId>libFDacsLib</artifactId>
<version>5.1</version>
<type>so</type>
</dependency>
I have a link to download the POM, but I have no link to download any actual artifact. No mention is made of "solaris", "linux_2x" or "linux_3x" anywhere on the web page.
I suspect the POM has been stripped of the classifier by archiva when maven deployed the artifact. As far as Archiva is concerned, there is only one POM which references an artifact that does not exist on the filesystem (no libFDacsLib.so file) since it's looking without the classifier extension.
Naturally I'd like to see a fix in a future version of Archiva if indeed Archiva is causing the problem. In the mean-time I would appreciate guidence as to whether I should create three separate POMs that specify the three classifier values to replace the existing POM in the archva repository filesystem.