1
두 개의 프로젝트가있는 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();
}
}
자바 오류 : 명령 줄을 사용하는 경우
당신이 인 IntelliJ 또는 다른 IDE 내에서 응용 프로그램을 실행하지 않는 한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
어떻게 프로그램을 실행하는? classpath가 포함되어 있습니까? – chrylis