私は現在、mavenとsqlite4javaでプロジェクトをビルドしようとしています。これは、正式なリポジトリで利用可能です。 オフィシャルsqlite4java page on google codeには設定例がありますが、これは古くて私のニーズに合っていません。私はどこにでも展開できる単一の.jarファイルを最後に持っていたい。ここでの問題は、共有オブジェクトの貧困です。私は間違って何をやっているmavenアセンブリに共有オブジェクトを含める
[INFO] Failed to create assembly: Error adding file-set for 'com.almworks.sqlite4java:libsqlite4java-linux-i386:so:0.282' to archive: Error adding archived file-set. PlexusIoResourceCollection not found for: /home/lhw/.m2/repository/com/almworks/sqlite4java/libsqlite4java-linux-i386/0.282/libsqlite4java-linux-i386-0.282.so
No such archiver: 'so'.
:私はlibにbuild.dir /私のアセンブリのゴールがクラッシュするようにコピーする自分のページからの公式ビルドのゴールを使用していますか?ここではいくつかの依存関係から取り除か私の現在のpom.xmlは関係のないこのトピックにある
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.ring0.lhw</groupId>
<artifactId>system</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.almworks.sqlite4java</groupId>
<artifactId>sqlite4java</artifactId>
<version>${sqlite4java.version}</version>
</dependency>
<dependency>
<groupId>com.almworks.sqlite4java</groupId>
<artifactId>libsqlite4java-linux-i386</artifactId>
<version>${sqlite4java.version}</version>
<type>so</type>
</dependency>
</dependencies>
<properties>
<sqlite4java.version>0.282</sqlite4java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.almworks.sqlite4java</groupId>
<artifactId>libsqlite4java-linux-i386</artifactId>
<version>${sqlite4java.version}</version>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<skipTests>true</skipTests>
<systemProperties>
<property>
<name>sqlite4java.library.path</name>
<value>${project.build.directory}/lib</value>
</property>
</systemProperties>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>de.ring0.lhw.Init</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
-rw-RW-r--の1つのLHWのLHW 716K 8月30日12時23 .m2 /リポジトリ/ COM/almworks/sqlite4java/libsqlite4java-Linuxの-I386/0.282/libsqlite4java-linux-i386-0.282.so はい、ファイルは存在し、コンパイルの目標が実行されるときにtarget/libにコピーされます。 – lhw
どのようにしてリポジトリに 'so'をインストール/展開しましたか? mvnクリーンインストール:install-file? この依存関係がインストールされていますか?はいの場合、依存関係のタイプとパッケージを「そう」に設定しましたか? でインストールしようとするとmvn clean install:install-file -Dpackaging = so –
libsqlite4java-linux-i386 abvoeのように共有オブジェクトの依存関係があります。自動的にローカルリポジトリにダウンロードされます。 sqlite4javaは、標準のMavenリポジトリで利用できます。 – lhw