Локальная зависимость Jar в Gradle: как импортировать в код - PullRequest
0 голосов
/ 02 ноября 2019

Я создаю gradle проект с зависимостью testone.jar

testone.jar - это рабочий .jar с классом Brew, который печатает вещи.

Я хочу вызвать testone. Заваривать из Main.java.

" import testone.Brew; " gives me a compile error

"> сборка gradle" работает, "> зависимости gradle" show:

implementation - Implementation only dependencies for source set 'main'. (n)
\--- unspecified (n)

Структура папки:

GradleTest/

----build/

--------libs/

------------GradleTest.jar

----libs/

--------testone.jar

----src/

--------test/

--------main/net/alexhublon/gradletest/

--------------------------------------Main.java

build.gradle:

apply plugin: 'java'

repositories {
    flatDir {
        dirs 'libs';
    }
}

dependencies {
    implementation files("libs/testone.jar")
}

sourceSets {
    main.java.srcDir 'src/main'
    test.java.srcDir 'src/test'
}

jar {
    manifest.attributes 'Main-Class': 'net.alexhublon.gradletest.Main'
}

Вот код для Main.java:

package net.alexhublon.gradletest;

import java.util.Arrays;
//import libs/testone.jar???
public class Main
{
    public static void main (String[] args)
    {
        System.out.println("Finished");
                //testone.Brew brew = new Brew()???
    }
}

Я хотел бы импортировать и использовать функции из testone.jar

Изменить: Если вы скомпилируете файл .jar с классом, это работает. Я считаю, что проблема с Gradle

1 Ответ

0 голосов
/ 02 ноября 2019

Просто импортируйте его, как вы сделали с Arrays:

package net.alexhublon.gradletest;

import java.util.Arrays;
import testone.Brew;

public class Main
{
    public static void main (String[] args)
    {
        System.out.println("Finished");
        Brew brew = new Brew()
    }
}

https://docs.oracle.com/javase/tutorial/java/package/usepkgs.html

...