1
私は2つのプロジェクトでgradleの設定をしています。レイアウト:gradleの依存関係はjarsをリンクしていません
build.gradle
libtestapp/
>src/
>main/
>java/
>testapp/
>Test.java
settings.gradle
testapp-gui/
>src/
>main/
>java/
>testapp/
>TestGui.java
プロジェクトtestapp-guiは、libtestappの関数を使用します。 testapp-guiプロジェクトは、gradle:testapp-gui:buildを実行するとコンパイルされます。 しかし、jarを実行しているとき、JavaはTestクラスが存在しないことを訴えています。
build.gradle:
subprojects {
apply plugin: 'java'
}
project(':testapp-gui') {
dependencies {
compile project(':libtestapp')
}
jar {
manifest {
attributes 'Main-Class': 'testapp.TestGui'
}
}
}
settings.gradle:
package testapp;
public class Test {
public static void call() {
System.out.println("Hi, Im in libtestapp.");
}
}
TestGui:
'はlibtestapp'、 'testappと、GUI'
Test.javaを含みます。 java:
package testapp;
import testapp.Test;
public class TestGui {
public static void main(String[] args) {
Test.call();
}
}
Javaエラー:
Exception in thread "main" java.lang.NoClassDefFoundError: testapp/Test
at testapp.TestGui.main(TestGui.java:8)
Caused by: java.lang.ClassNotFoundException: testapp.Test
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
どのようにしてプログラムを実行していますか?あなたはクラスパスを含んでいますか? – chrylis