Export to GitHub

sqlite4java - UsingWithMaven.wiki


sqlite4java has a number of artifacts: the main artifact com.almworks.sqlite4java:sqlite4java is a jar file with Java classes, and one binary artifact for each target platform/architecture. You need to add dependency on the main artifact and at least one binary artifact.

Furthermore, when sqlite4java initializes, it will not be able to automatically find binary artifacts in the Maven repository, so you either need to add goals to somehow place sqlite4java-*.jar in the same directory with *.dll/*.so/*.jnilib artifacts, or pass sqlite4java.library.path system property to the process using sqlite4java, or use SQLite.setLibraryPath() as the first method you call when working with sqlite4java.

List of artifacts: | groupId | artifactId | type | |:------------|:---------------|:---------| | com.almworks.sqlite4java | sqlite4java | jar | | com.almworks.sqlite4java | libsqlite4java-linux-amd64 | so | | com.almworks.sqlite4java | libsqlite4java-linux-i386 | so | | com.almworks.sqlite4java | libsqlite4java-osx | jnilib | | com.almworks.sqlite4java | libsqlite4java-osx-10.4 | jnilib | | com.almworks.sqlite4java | libsqlite4java-osx-ppc | jnilib | | com.almworks.sqlite4java | sqlite4java-win32-x64 | dll | | com.almworks.sqlite4java | sqlite4java-win32-x86 | dll |

Sample POM: ``` ... 1.0.392

com.almworks.sqlite4java sqlite4java jar ${sqlite4java.version} com.almworks.sqlite4java libsqlite4java-linux-i386 so ${sqlite4java.version}

org.apache.maven.plugins maven-dependency-plugin copy compile copy com.almworks.sqlite4java libsqlite4java-linux-i386 ${sqlite4java.version} so true ${project.build.directory}/lib org.apache.maven.plugins maven-surefire-plugin sqlite4java.library.path ${project.build.directory}/lib org.codehaus.mojo appassembler-maven-plugin 1.0-alpha-2 assemble package assemble -Dsqlite4java.library.path=lib ```