2016-08-24 11 views
6

मैं जावा मैवेन प्रोजेक्ट को माइग्रेट करने के लिए माइग्रेट कर रहा हूं। मैंने मेवेन में एक छाया प्लगइन जोड़ा है, लेकिन जब मैंने इसे धीरे-धीरे विफल करने की कोशिश की, तो वर्तमान में यह असफल रहा। स्वच्छ, जैसे कि, जब मैं एक नीचे आदेश जारी,ग्रेडल छाया प्लगइन विफलता: प्लगइन को हल करने में त्रुटि

gradle clean 

कृपया pom.xml फ़ाइल नीचे दिए गए संबंधित build.gradle फ़ाइल खोजने के समय में इसकी नाकाम रहने के।

pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.myproj.integration</groupId> 
<artifactId>Generic-Integration</artifactId> 
<name>Generic-Integration</name> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <finalName>myproj-integration-${project.version}</finalName> 

       <shadedArtifactAttached>true</shadedArtifactAttached> 
       <createDependencyReducedPom>true</createDependencyReducedPom> 

       <relocations> 
        <relocation> 
         <pattern>jersey.repackaged</pattern> 
         <shadedPattern>myproj.repackaged</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>javassist</pattern> 
         <shadedPattern>myproj.repackaged.javassist</shadedPattern> 
        </relocation> 

        <relocation> 
         <pattern>org.aopalliance</pattern> 
         <shadedPattern>myproj.repackaged.org.aopalliance</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>org.apache.logging</pattern> 
         <shadedPattern>myproj.repackaged.org.apache.logging</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>org.codehaus.jackson</pattern> 
         <shadedPattern>myproj.repackaged.org.codehaus.jackson</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>org.glassfish.hk2</pattern> 
         <shadedPattern>myproj.repackaged.org.glassfish.hk2</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>org.glassfish.jersey</pattern> 
         <shadedPattern>myproj.repackaged.org.glassfish.jersey</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>org.json</pattern> 
         <shadedPattern>myproj.repackaged.org.json</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>org.jvnet</pattern> 
         <shadedPattern>myproj.repackaged.org.jvnet</shadedPattern> 
        </relocation> 

        <relocation> 
         <pattern>javax.annotation</pattern> 
         <shadedPattern>myproj.repackaged.javax.annotation</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>javax.inject</pattern> 
         <shadedPattern>myproj.repackaged.javax.inject</shadedPattern> 
        </relocation> 
        <relocation> 
         <pattern>javax.ws</pattern> 
         <shadedPattern>myproj.repackaged.javax.ws</shadedPattern> 
        </relocation> 
       </relocations> 
       <transformers> 
        <transformer 
          implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
         <mainClass>com.myproj.integration.ServiceExecuter</mainClass> 
        </transformer> 
       </transformers> 

       <artifactSet> 
        <includes> 
         <include>com.myproj:Util</include> 
         <include>org.glassfish.hk2:hk2-api</include> 
         <include>org.glassfish.hk2:hk2-utils</include> 
         <include>org.glassfish.hk2:hk2-locator</include> 
         <include>org.glassfish.hk2:osgi-resource-locator</include> 
         <include>org.glassfish.hk2.external:aopalliance-repackaged</include> 
         <include>org.codehaus.jackson:jackson-core-asl</include> 
         <include>org.codehaus.jackson:jackson-mapper-asl</include> 
         <include>org.codehaus.jackson:jackson-jaxrs</include> 
         <include>org.codehaus.jackson:jackson-xc</include> 
         <include>org.javassist:javassist</include> 
         <include>javax.annotation:javax.annotation-api</include> 
         <include>org.glassfish.hk2.external:javax.inject</include> 
         <include>javax.ws.rs:javax.ws.rs-api</include> 
         <include>org.glassfish.jersey.core:jersey-client</include> 
         <include>org.glassfish.jersey.core:jersey-common</include> 
         <include>org.glassfish.jersey.bundles.repackaged:jersey-guava</include> 
         <include>org.glassfish.jersey.media:jersey-media-json-jackson</include> 
         <include>org.json:json</include> 
         <include>com.myproj:JAXRS</include> 
        </includes> 
       </artifactSet> 

      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>com.myproj</groupId> 
     <artifactId>JAXRS</artifactId> 
     <version>1.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-servlet</artifactId> 
     <version>8.1.16.v20140903</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.myproj</groupId> 
     <artifactId>Server</artifactId> 
     <version>1.2.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.8.8</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

build.gradle

plugins { 
     id 'com.github.johnrengelman.shadow' version '1.2.3' 
    } 

    shadowJar { 
     artifactSet { 
      include 'com.myproj:Util' 
      include 'org.glassfish.hk2:hk2-api' 
      include 'org.glassfish.hk2:hk2-utils' 
      include 'org.glassfish.hk2:hk2-locator' 
      include 'org.glassfish.hk2:osgi-resource-locator' 
      include 'org.glassfish.hk2.external:aopalliance-repackaged' 
      include 'org.codehaus.jackson:jackson-core-asl' 
      include 'org.codehaus.jackson:jackson-mapper-asl' 
      include 'org.codehaus.jackson:jackson-jaxrs' 
      include 'org.codehaus.jackson:jackson-xc' 
      include 'org.javassist:javassist' 
      include 'javax.annotation:javax.annotation-api' 
      include 'org.glassfish.hk2.external:javax.inject' 
      include 'javax.ws.rs:javax.ws.rs-api' 
      include 'org.glassfish.jersey.core:jersey-client' 
      include 'org.glassfish.jersey.core:jersey-common' 
      include 'org.glassfish.jersey.bundles.repackaged:jersey-guava' 
      include 'org.glassfish.jersey.media:jersey-media-json-jackson' 
      include 'org.json:json' 
      include 'com.myproj:JAXRS' 
     } 
     relocation { 
      pattern = 'jersey.repackaged' 
      shadedPattern = 'myproj.repackaged' 
     } 
     relocation { 
      pattern = 'javassist' 
      shadedPattern = 'myproj.repackaged.javassist' 
     } 
     relocation { 
      pattern = 'org.aopalliance' 
      shadedPattern = 'myproj.repackaged.org.aopalliance' 
     } 
     relocation { 
      pattern = 'org.apache.logging' 
      shadedPattern = 'myproj.repackaged.org.apache.logging' 
     } 
     relocation { 
      pattern = 'org.codehaus.jackson' 
      shadedPattern = 'myproj.repackaged.org.codehaus.jackson' 
     } 
     relocation { 
      pattern = 'org.glassfish.hk2' 
      shadedPattern = 'myproj.repackaged.org.glassfish.hk2' 
     } 
     relocation { 
      pattern = 'org.glassfish.jersey' 
      shadedPattern = 'myproj.repackaged.org.glassfish.jersey' 
     } 
     relocation { 
      pattern = 'org.json' 
      shadedPattern = 'myproj.repackaged.org.json' 
     } 
     relocation { 
      pattern = 'org.jvnet' 
      shadedPattern = 'myproj.repackaged.org.jvnet' 
     } 
     relocation { 
      pattern = 'javax.annotation' 
      shadedPattern = 'myproj.repackaged.javax.annotation' 
     } 
     relocation { 
      pattern = 'javax.inject' 
      shadedPattern = 'myproj.repackaged.javax.inject' 
     } 
     relocation { 
      pattern = 'javax.ws' 
      shadedPattern = 'myproj.repackaged.javax.ws' 
     } 
    } 

    dependencies { 
     compile project(':JAXRS') 
     compile project(':Server') 
     testCompile group: 'org.testng', name: 'testng', version:'6.8.8' 
     compile(group: 'org.eclipse.jetty', name: 'jetty-servlet', version:'8.1.16.v20140903') { 
      /* This dependency was originally in the Maven provided scope, but the project was not of type war. 
      This behavior is not yet supported by Gradle, so this dependency has been converted to a compile dependency. 
      Please review and delete this closure when resolved. */ 
     } 
    } 

    task genericIntegrationJar(type: Jar) { 
     baseName = 'myproj-integration-1.2' 
     from { configurations.external.collect { it.isDirectory() ? it : zipTree(it) } } 
     with jar 
    } 

    test.useTestNG() 

मैं नीचे अपवाद हो रही है, एक साफ जब मैं करते हैं,

 FAILURE: Build failed with an exception. 

     * Where: 
     Build file '/Users/mac8/POS/MobilePosSolution/Generic-Integration/build.gradle' line: 2 

     * What went wrong: 
     Error resolving plugin [id: 'com.github.johnrengelman.shadow', version: '1.2.3'] 
     > The response from https://plugins.gradle.org/api/gradle/2.14.1/plugin/use/com.github.johnrengelman.shadow/1.2.3 was not a valid response from a Gradle Plugin Resolution Service: content type is 'text/html;charset=iso-8859-1', expected 'application/json' (status code: 404) 

     * 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: 4.903 secs 

कृपया मुझे पता है अगर वहाँ कुछ है कि मैं छाया प्लगइन नकल के लिए मेरे build.gradle में फ़ाइल को बदलने की जरूरत है करते हैं।

उत्तर

0

मैं सिर्फ यह हिट करने के लिए कोशिश की और लगता है कि यह ठीक काम कर रहा है:

curl -v https://plugins.gradle.org/api/gradle/2.14.1/plugin/use/com.github.johnrengelman.shadow/1.2.3 
* Trying 104.25.173.23... 
* Connected to plugins.gradle.org (104.25.173.23) port 443 (#0) 
* found 173 certificates in /etc/ssl/certs/ca-certificates.crt 
* found 704 certificates in /etc/ssl/certs 
* ALPN, offering http/1.1 
* SSL connection using TLS1.2/ECDHE_ECDSA_AES_128_GCM_SHA256 
* server certificate verification OK 
* server certificate status verification SKIPPED 
* common name: ssl277771.cloudflaressl.com (matched) 
* server certificate expiration date OK 
* server certificate activation date OK 
* certificate public key: EC 
* certificate version: #3 
* subject: OU=Domain Control Validated,OU=PositiveSSL Multi-Domain,CN=ssl277771.cloudflaressl.com 
* start date: Sat, 06 Aug 2016 00:00:00 GMT 
* expire date: Sun, 05 Feb 2017 23:59:59 GMT 
* issuer: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO ECC Domain Validation Secure Server CA 2 
* compression: NULL 
* ALPN, server accepted to use http/1.1 
> GET /api/gradle/2.14.1/plugin/use/com.github.johnrengelman.shadow/1.2.3 HTTP/1.1 
> Host: plugins.gradle.org 
> User-Agent: curl/7.47.0 
> Accept: */* 
> 
< HTTP/1.1 200 OK 
< Date: Wed, 24 Aug 2016 09:24:42 GMT 
< Content-Type: application/json 
< Transfer-Encoding: chunked 
< Connection: keep-alive 
< Set-Cookie: __cfduid=d0c64c916428b3abd24c29d0578251d2d1472030681; expires=Thu, 24-Aug-17 09:24:41 GMT; path=/; domain=.gradle.org; HttpOnly 
< Via: 1.1 vegur 
< Server: cloudflare-nginx 
< CF-RAY: 2d75c0b211512378-FRA 
< 
{ 
    "id" : "com.github.johnrengelman.shadow", 
    "version" : "1.2.3", 
    "implementation" : { 
    "gav" : "com.github.jengelman.gradle.plugins:shadow:1.2.3", 
    "repo" : "https://plugins.gradle.org/m2" 
    }, 
    "implementationType" : "M2_JAR", 
    "legacy" : true 
* Connection #0 to host plugins.gradle.org left intact 

कि कोशिश करो और देखो क्या होता है।

--- संपादित

बस एक नमूना परियोजना में जोड़ा और फ़ाइल ठीक डाउनलोड किया जाता है। मैंने निर्भरताओं के लिए jcenter() भंडार का भी उपयोग किया।

Download https://jcenter.bintray.com/com/github/jengelman/gradle/plugins/shadow/1.2.3/shadow-1.2.3.jar 

अपने build.gradle फाइल करने के लिए कि जोड़ें और

buildscript { 
    repositories { 
     jcenter() 
    } 
} 
+0

कर एक कर्ल ठीक काम कर रहा है। लेकिन जब मैं ** ग्रेडल क्लीन ** करता हूं तो यह असफल हो जाता है और उस अपवाद को फेंक देता है। क्या आप कृपया मुझे बता सकते हैं कि ग्रेनेल के लिए मेवेन के छाया प्लगइन के लिए कोई विकल्प हैं। –

+0

बस प्रतिक्रिया संपादित की गई, कृपया देखें कि यह समस्या को हल करता है या नहीं। – gmaslowski

+0

अभी भी वही समस्या है। 'प्लगइन को हल करने में त्रुटि [आईडी:' com.github.johnrengelman.shadow ', संस्करण:' 1.2.3 '] > https://plugins.gradle.org/api/gradle/2.14.1/ से प्रतिक्रिया प्लगइन/उपयोग/com.github.johnrengelman.shadow/1.2.3 ग्रैडल प्लगइन रिज़ॉल्यूशन सेवा से मान्य प्रतिक्रिया नहीं थी: सामग्री प्रकार 'टेक्स्ट/एचटीएमएल; वर्णसेट = आईएसओ -885 9 -1', अपेक्षित 'एप्लिकेशन/जेसन' (स्थिति कोड: 404) ' –

0

कोशिश यह मेरे लिए काम किया: -

jar { 
    baseName = 'Project name' 
    // adds runtime dependencies to jar package 
    from({configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }}) { 
     // remove all signature files 
     exclude "META-INF/*.SF" 
     exclude "META-INF/*.DSA" 
     exclude "META-INF/*.RSA" 
     exclude "META-INF/LICENSE" 
     exclude "META-INF/license" 
     exclude "license/*" 
    } 
    manifest { 
     attributes 'Main-Class': 'Main class' 
    } } 
संबंधित मुद्दे