How to install a compiled by Gradle jar into the local Gradle Repository files-2.1 instead of the Maven repository?

前端 未结 4 2169
失恋的感觉
失恋的感觉 2021-02-13 04:17

In my build.gradle, I added the plugin:

apply plugin: \'maven\'

Then using “gradle install” I can copy the resulted jar into the maven reposito

相关标签:
4条回答
  • 2021-02-13 04:55

    What worked for me is gradle install -Dmaven.repo.local=the/path/of/the/folder.

    I don't know which IDE you are using but in eclipse you can add a new Run Configuration, in Gradle taks add install and in program arguments -Dmaven.repo.local=the/path/of/the/folder.

    0 讨论(0)
  • 2021-02-13 04:56

    A build.gradle sample to create a Jar file along with its logback dependencies. using mavenlocale()

    apply plugin: 'java'
    
    apply plugin: 'eclipse'
    
    version = '1.0'
    
    sourceCompatibility = 1.7
    
    target Compatibility = 1.7
    
    //create a single Jar with all dependencies
    
     task fatJar(type: Jar) {
    
         manifest {
    
            attributes 'Implementation-Title': 'Gradle Jar File Example',
    
                'Implementation-Version': version,
    
                'Main-Class': 'com.mkyong.DateUtils'
        }
        baseName = project.name + '-all'
    
        from { configurations.compile.collect { it.isDirectory() ? it : 
    zipTree(it)
    
     } 
    
    }
        with jar
    }
    
    //Get dependencies from Maven central repository
    
    repositories {
    
        mavenCentral()
    }
    
    //Project dependencies
    
    dependencies {
    
        compile 'ch.qos.logback:logback-classic:1.1.2'
    
    }
    

    Reference create a Jar file along with its logback dependencies.

    0 讨论(0)
  • 2021-02-13 05:00

    mavenLocal() is resolved like this:

    In order to make use of a non-standard local maven repository, you can use the following configuration in your build.gradle:

    repositories { maven { url '/Users/manuelj/apache/maven/repository' } }

    0 讨论(0)
  • 2021-02-13 05:07

    If you insist on manipulating the cache, then your best bet is to write a shell script that will manually replace latest JAR in the cache.

    The reason is that Gradle does not come with this functionality built-in, as Gradle uses notion of "local cache" in a strict sense, as opposed to "local repository" which is used by Maven.

    The difference is that you are never supposed to save files to local cache manually.

    To solve your problem the recommended way: Suppose that project A is a dependency of project B. Then you can call publishToMavenLocal command in project A to refresh the depedency. Add mavenLocal() repository in gradle.build of project B, so every time you build project B, Gradle will check the local repository when resolving the dependency A.

    0 讨论(0)
提交回复
热议问题