Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Gradle编译后,使用依赖项运行java程序_Java_Maven_Intellij Idea_Gradle - Fatal编程技术网

使用Gradle编译后,使用依赖项运行java程序

使用Gradle编译后,使用依赖项运行java程序,java,maven,intellij-idea,gradle,Java,Maven,Intellij Idea,Gradle,我已经使用Gradle编译了我的java程序,该程序具有一些依赖性: gradle build 当我运行java程序时: cd build/classes/main/ java HelloWorldWithLibs 我得到: 线程“main”java.lang.NoClassDefFoundError中出现异常: com/google/api/client/json/JsonFactory位于 BigQueryStreamTest.main(BigQueryStreamTest.java:1

我已经使用Gradle编译了我的java程序,该程序具有一些依赖性:

gradle build
当我运行java程序时:

cd build/classes/main/
java HelloWorldWithLibs
我得到:

线程“main”java.lang.NoClassDefFoundError中出现异常: com/google/api/client/json/JsonFactory位于 BigQueryStreamTest.main(BigQueryStreamTest.java:11)由以下原因引起: java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory

使用所需的库运行此java程序的正确方法是什么


PS:当我在IntelliJ中运行程序时,所有的lib都在java命令的参数中。我希望能够在没有IDE帮助的情况下完成整个过程

最简单的方法是在gradle构建中配置任务

task runMyClass(type: JavaExec, dependsOn: 'compileJava') {
    main = 'foo.bar.MyClass'
    classpath = sourceSets.main.runtimeClasspath
    args 'arg1'
}
然后,您可以通过

gradle runMyClass

您可以使用
应用程序
gradle插件运行您的应用程序。只需将以下内容添加到构建脚本:

apply plugin:'application'

mainClassName = 'foo.bar.MyMainClass'
然后可以从命令行运行

gradle run

使用
-classpath
选项添加缺少的依赖项如何获取列表?我有大约100个依赖项,我只想包括每个依赖项的确切版本。