我正在學習Java「硬的方法」,意思是沒有任何IDE。相反,我依靠gradle和我的文本編輯器。 A這一刻,我的項目是這樣的:如何獲取gradle以下載庫
├── build.gradle
└── src
├── main
│ └── java
│ └── CliOptionsTryout.java
的build.gradle內容:
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile 'commons-cli:commons-cli:1.4'
compile 'org.slf4j:slf4j-api:1.7.22'
testCompile 'junit:junit:4.12'
}
內容CliOptionsTryout.java的:
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
public class CliOptionsTryout {
public static void main(String[] args) {
Options options = new Options(); // <=== FAILED HERE
options.addOption("h", "help", false, "show help.");
options.addOption("v", "var", true, "Here you can set parameter .");
}
}
與gradle build
成功地構建了項目,但是當我執行java CliOptionsTryout -v 100
時,出現以下錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/Options
at CliOptionsTryout.main(CliOptionsTryout.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.Options
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
我知道原因是找不到commons-cli庫。所以,問題是,我如何告訴gradle下載並安裝這個庫?
使用應用程序插件並讓gradle爲您生成一個應用程序(具有所有必需的依賴項,啓動腳本等)。 https://docs.gradle.org/current/userguide/application_plugin.html –
我喜歡@ JBNizet的建議,它適用於我。謝謝。 –