Hi everyone,
I’m quite new to Gradle so I hope you will forgive me if I say something obvious. I’m building a java project just to get used to the Gradle dependency system but I have encountered a problem whit dependencies.
Here is the content of the gradle.build file generated by Eclipse and modified by me:
/*
- This build file was auto generated by running the Gradle ‘init’ task
- by ‘giovanni’ at ‘11/9/16 3:16 PM’ with Gradle 3.0
- This generated file contains a sample Java project to get you started.
- For more details take a look at the Java Quickstart chapter in the Gradle
- user guide available at Java Quickstart - Gradle User Guide Version 3.0
*/
// Apply the java plugin to add support for Java
apply plugin: ‘java’
description = “Testing dependencies”
version = 0.1
sourceCompatibility = 1.8
targetCompatibility = 1.8
// In this section you declare where to find the dependencies of your project
repositories {
// Use ‘jcenter’ for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
mavenCentral()
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile ‘org.slf4j:slf4j-api:1.7.21’
// Declare the dependency for your favourite test framework you want to use in your tests. // TestNG is also supported by the Gradle Test task. Just change the // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add // 'test.useTestNG()' to your build script. testCompile 'junit:junit:4.12' runtime 'org.apache.commons:commons-math3:3.6.1'
}
jar {
manifest {
attributes(
‘Main-Class’: ‘testing.TestingDep’
)
}
}
And this is the ocntent of my main class
package testing;
import org.apache.commons.math3.stat.inference.ChiSquareTest;
public class TestingDep {
public static void main(String args) {
System.out.println(“Hello World”);ChiSquareTest test = new ChiSquareTest(); long[][] dist = {{1,2,3,4},{5,6,7,8}}; System.out.println(test.chiSquare(dist));
}
}
And this is the message that I get when I try to build it:
:compileJava
…/test-dependencies/src/main/java/testing/TestingDep.java:3: error: package org.apache.commons.math3.stat.inference does not exist
import org.apache.commons.math3.stat.inference.ChiSquareTest;
^
…/test-dependencies/src/main/java/testing/TestingDep.java:10: error: cannot find symbol
ChiSquareTest test = new ChiSquareTest();
^
symbol: class ChiSquareTest
location: class TestingDep
…/test-dependencies/src/main/java/testing/TestingDep.java:10: error: cannot find symbol
ChiSquareTest test = new ChiSquareTest();
^
symbol: class ChiSquareTest
location: class TestingDep
3 errors
:compileJava FAILED
FAILURE: Build failed with an exception.
- What went wrong:
Execution failed for task ‘:compileJava’.Compilation failed; see the compiler error output for details.
- Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 0.755 secs
I tried to build the jar and run it, but nothing happened, if I set the dependency level to “compile” the project is built but when I launch it I get the java.lang.NoClassDefFoundError.
Any help will be appreciated,
thanks in advance,
Giovanni