Запутался по поводу зависимостей в локальном репозитории (gradle) - PullRequest
1 голос
/ 06 марта 2012

Я пытаюсь скомпилировать и упаковать свое java-приложение, но у меня возникают проблемы при попытке указать мой локальный репозиторий, в котором у меня есть jar-файлы, которые будут использоваться в качестве зависимостей. Я сохранил все банки, которые мне нужны для моего приложения, в / home / test / lib. Мой файл build.gradle выглядит следующим образом:

apply plugin:'application'
apply plugin:'java'
apply plugin:'idea'

    def repositoryPath = '/home/test/lib'

    repositories {
        repositoryPath
    }



dependencies {
            "org.springframework:spring-orm:3.0.2.RELEASE"
            "org.springframework:spring-context-support:3.0.2.RELEASE"
            'commons-dbcp:commons-dbcp:1.4'
            'org.apache.ibatis:ibatis-sqlmap:2.3.4.726'
            'commons-dbutils:commons-dbutils:1.3'
            'joda-time:joda-time:1.6'
            'commons-lang:commons-lang:2.5'
            'com.google.collections:google-collections:1.0'
}

jar {
    baseName = 'testJar'
}

mainClassName = "com.some.test.testRunner"

Когда я запускаю сборку gradle, я получаю сообщение об ошибке "пакет * не существует".

Я предполагаю, что gradle не находит необходимые внешние jar-файлы в моей папке lib. Может кто-нибудь указать, что я могу делать здесь не так.

Спасибо

1 Ответ

6 голосов
/ 07 марта 2012

некоторые замечания о вашем файле сборки.Я предполагаю, что у вас есть плоский каталог в / home / test / lib, который содержит ваши сторонние библиотеки?В этом случае вы можете использовать репозиторий flatDir, который объявлен со следующим синтаксисом:

def repositoryPath = '/home/test/lib'

repositories {
    flatDir {
       dirs repositoryPath
    }
}

Если / home / test / lib является репозиторием ivy, вы можете сделать:

repositories {
    ivy {
       url repositoryPath
    }
}

Это подробно объясняется в руководстве пользователя Gradle .

в разделе «зависимости», который вы пропустили для объявления области ваших зависимостей (компиляция, среда выполнения и т. Д.):

dependencies {
    compile "org.springframework:spring-orm:3.0.2.RELEASE"
    compile "org.springframework:spring-context-support:3.0.2.RELEASE"
    compile 'commons-dbcp:commons-dbcp:1.4'
    compile 'org.apache.ibatis:ibatis-sqlmap:2.3.4.726'
    compile 'commons-dbutils:commons-dbutils:1.3'
    compile 'joda-time:joda-time:1.6'
    compile 'commons-lang:commons-lang:2.5'
    compile 'com.google.collections:google-collections:1.0'
}

если вы используете репозиторий flatdir, группа определения зависимостей часто опускается:

dependencies {
    compile ":spring-orm:3.0.2.RELEASE"
    ...
}

Для получения подробной информации об обработке зависимостей обратитесь к руководству пользователя gradle.gradle: http://gradle.org/docs/current/userguide/userguide_single.html#artifact_dependencies_tutorial

привет, Рене

...