3
我是很新,搖籃和java所有..Java的sqlite的搖籃
我有使用SQLite一個項目,它貫穿IntelliJ IDEA的罰款,但我不能從終端運行它,它拋出例外:
java.lang.ClassNotFoundException: org.sqlite.JDBC
我試圖讓過程,IntelliJ IDEA的滋生,當它運行的項目:
/usr/lib/jvm/java-7-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=42986 -Dfile.encoding=UTF-8 -cp /home/user/my_project/target/classes/main:/home/user/my_project/target/resources/main:/home/user/.gradle/caches/modules-2/files-2.1/org.xerial/sqlite-jdbc/3.7.2/7a3d67f00508d3881650579f7f228c61bfc1b196/sqlite-jdbc-3.7.2.jar Main
正如我在這裏看到的想法指定的classpath這是解決方案,但我怎麼能運行我的。項目的jar文件沒有指定classpath?我的意思是可以gradle
自動生成清單(因爲它從maven org.xerial
存儲庫成功地檢索sqlite-jdbc)並將有效的類路徑在那裏? 我想從終端上順利運行它。
UPD:我不能從終端運行只有gradle run
命令,但我不能運行該項目java -jar myproject.jar
。
這裏是我的build.gradle
:
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'idea'
apply plugin: 'application'
group = 'myproject'
version = '0.3'
description = """my project description"""
buildDir = "target"
mainClassName = "Main"
repositories {
maven { url "http://repo.maven.apache.org/maven2" }
}
dependencies {
testCompile group: 'junit', name: 'junit', version:'3.8.1'
compile 'org.xerial:sqlite-jdbc:3.7.2'
}
jar {
manifest.attributes("Main-Class": "Main")
}
/* Overwriting distribution tasks: */
task distZip(type:Zip, overwrite:true) {
archiveName = "$project.name-$version" + '.zip'
from "target/libs"
}
task distTar(type:Tar, overwrite:true) {
archiveName = "$project.name-$version" + '.tar'
from "target/libs"
}
它拋出一個異常Java源代碼:通過該項目的分佈jar文件的類路徑中添加sqlite的
try {
Class.forName("org.sqlite.JDBC");
this.connection = DriverManager.getConnection(databaseName);
} catch (Exception e) {
e.printStackTrace();
}
源代碼? build.gradle文件內容? – fge
當使用'gradle run'執行應用程序時,應用程序插件將自動使'compile'(和'runtime')依賴項可用。您應該能夠通過使用'--info'日誌級別執行Gradle來驗證這一點。 –