java - 在我的 Gradle Java 项目中使用本地 jar 作为依赖项

标签 java gradle jar

我有一个名为 mylib.jar 的本地 jar 文件.我想在我的 Gradle Java 项目中使用它作为依赖项。

这是我尝试过的:

我创建了一个 libs/项目根目录下的文件夹。我把jar文件放在libs/下文件夹。

MyProject
 ->libs/mylib.jar
 ->build.gradle
 ->src/...

在我的 build.gradle 中:
apply plugin: 'java-library'

group 'com.my.app'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()

    flatDir {
        dirs 'libs'
    }
 }

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    api files('libs/mylib.jar')
}

但我无法访问 mylib.jar 中定义的公共(public)类在我的项目代码中。为什么?

===== 更多信息 =====

我的 jar 里的内容:
mylib.jar
    > com.my.jar.package
      >ClassFromJar.class

以下是我使用 jar 的方法:
// Compilation error: Cannot resolve symobl 'ClassFromJar'
import com.my.jar.package.ClassFromJar;

public class MyEntryPoint {
    // Compilation error: Cannot resolve symbol 'ClassFromJar'
    ClassFromJar instance = new ClassFromJar();
}

最佳答案

Similar answers suggesting

  • 本地目录

  • Add next to your module gradle (Not the app gradle file):

    repositories {
       flatDir {
           dirs 'libs'
       }
    }
    

  • 相对路径:

  • dependencies {
        implementation files('libs/mylib.jar')
    }
    

  • 使用compile fileTree :

  • compile fileTree(dir: 'libs', include: 'mylib.jar')
    

    关于java - 在我的 Gradle Java 项目中使用本地 jar 作为依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58034975/

    相关文章:

    java - 在 Spring Boot 应用程序中为 Activiti 指定单独的数据源

    Gradle:根据配置文件加载属性文件

    java - 根据单例设计模式使用服务加载器创建可扩展应用程序

    android - AS 3.1.3 gradle-4.1-all.zip找不到com.android.tools.build:gradle:3.0.1

    java - 使用Powershell用tomcat servlet-api.jar编译java

    java - 重新编译Jar依赖

    java - 如何使用 JNI 实例化 Java 泛型?

    java - Android 中的多点触控手势和图像

    java - 如何使用 IText 添加表格而不发生异常?

    Java 8 上的 Spring Boot 应用程序的 Gradle 包装器失败,Gradle 3 : can't find cacerts