Ben bu basit yapı komut dosyası var: Putty, Gradle ve Gradle Git eklentisini kullanırken "uyumsuz JNA yerel kütüphanesi" nasıl giderilir?
import org.ajoberstar.grgit.Grgit
apply plugin: 'application'
apply plugin: 'org.ajoberstar.release-opinion'
task wrapper(type:Wrapper) {
gradleVersion = '2.1'
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:0.11.+'
}
}
release {
grgit = Grgit.open(project.file('.'))
}
Bir MerhabaDünya tarzı projesini oluşturdu ve git depo başlatıldı. Uzak kaynak için bir dizin kullandığımda,
.\gradlew.bat release
'u yalnızca düzgün çalıştırabilirim. Ben uzaktan kökenli bir ssh hedefi kullandığınızda Ama şu çıktıyı alıyorum: Ben --stacktrace
ile reran ve burada bu hata için kısmi yığın izlemesi
16:39:55.355 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':prepare'.
16:39:55.355 [INFO] [org.gradle.api.Task] Fetching changes from remote: origin
16:39:55.387 [INFO] [org.ajoberstar.grgit.auth.TransportOpUtil] The following authentication options are allowed (though they may not be available): [
HARDCODED, PAGEANT, SSHAGENT, INTERACTIVE]
16:39:55.402 [INFO] [org.ajoberstar.grgit.auth.TransportOpUtil] using interactive credentials, if needed
16:39:55.480 [INFO] [org.ajoberstar.grgit.auth.JschAgentProxySessionFactory] ssh-agent not available
16:39:55.511 [INFO] [org.ajoberstar.grgit.auth.JschAgentProxySessionFactory] pageant available
16:39:55.527 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':prepare'
16:39:55.527 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :prepare FAILED
16:39:55.543 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :prepare (Thread[main,5,main]) completed. Took 0.219 secs.
16:39:55.543 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[main,5,main]] finished, busy: 0.219 secs, idle: 0.0
secs
16:39:55.543 [ERROR] [org.gradle.BuildExceptionReporter]
16:39:55.543 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
16:39:55.543 [ERROR] [org.gradle.BuildExceptionReporter]
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':prepare'.
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] >
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter]
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] There is an incompatible JNA native library installed on this system.
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] To resolve this issue you may do one of the following:
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] - remove or uninstall the offending library
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] - set the system property jna.nosys=true
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] - set jna.boot.library.path to include the path to the version of the
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter] jnidispatch library included with the JNA jar file you are using
16:39:55.558 [ERROR] [org.gradle.BuildExceptionReporter]
16:39:55.574 [ERROR] [org.gradle.BuildExceptionReporter]
16:39:55.574 [ERROR] [org.gradle.BuildExceptionReporter] * Try:
16:39:55.574 [ERROR] [org.gradle.BuildExceptionReporter] Run with --stacktrace option to get the stack trace.
16:39:55.574 [LIFECYCLE] [org.gradle.BuildResultLogger]
16:39:55.574 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
(JSch ima görünüyor):
Caused by: java.lang.Error:
at com.sun.jna.Native.<clinit>(Native.java:142)
at com.jcraft.jsch.agentproxy.connector.PageantConnector$User32.<clinit>(PageantConnector.java:85)
at com.jcraft.jsch.agentproxy.connector.PageantConnector.<init>(PageantConnector.java:61)
at org.ajoberstar.grgit.auth.JschAgentProxySessionFactory$_closure2.doCall(JschAgentProxySessionFactory.groovy:122)
at org.ajoberstar.grgit.auth.JschAgentProxySessionFactory$_closure2.doCall(JschAgentProxySessionFactory.groovy)
at org.ajoberstar.grgit.auth.JschAgentProxySessionFactory$_determineConnector_closure5.doCall(JschAgentProxySessionFactory.groovy:86)
at org.ajoberstar.grgit.auth.JschAgentProxySessionFactory.determineConnector(JschAgentProxySessionFactory.groovy:85)
at org.ajoberstar.grgit.auth.JschAgentProxySessionFactory.getJSch(JschAgentProxySessionFactory.groovy:65)
at org.eclipse.jgit.transport.JschConfigSessionFactory.createSession(JschConfigSessionFactory.java:191)
at org.eclipse.jgit.transport.JschConfigSessionFactory.createSession(JschConfigSessionFactory.java:150)
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:109)
at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:121)
at org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init>(TransportGitSsh.java:306)
at org.eclipse.jgit.transport.TransportGitSsh.openPush(TransportGitSsh.java:152)
at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:154)
at org.eclipse.jgit.transport.Transport.push(Transport.java:1173)
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:156)
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:79)
at java_util_concurrent_Callable$call$0.call(Unknown Source)
at org.ajoberstar.grgit.operation.PushOp.call(PushOp.groovy:104)
at org.ajoberstar.grgit.operation.PushOp.call(PushOp.groovy)
at java_util_concurrent_Callable$call.call(Unknown Source)
at java_util_concurrent_Callable$call.call(Unknown Source)
at org.ajoberstar.grgit.util.OpSyntaxUtil.tryOp(OpSyntaxUtil.groovy:45)
at org.ajoberstar.grgit.Grgit.methodMissing(Grgit.groovy:190)
at org.ajoberstar.gradle.git.release.GrgitReleasePlugin$_addReleaseTask_closure4_closure14.doCall(GrgitReleasePlugin.groovy:134)
... 56 more
Bu çalışma hakkında nasıl bir fikir var?
Gradle 2.1, Gradle-git 0.11.0 (yapı betiğinde görebileceğiniz gibi) kullanıyorum, Java 1.7.0_71 64-bit (sistemde Java'nın diğer sürümleri var, ancak PATH Bu sürüm ve java -version
çıkışları 1.7.0_71 64 bit), Putty 0.60 ve git 1.9.0 msysgit için ayarlayın. Bunun için
Hata iletisindeki önerilerden hangisini denediniz? – technomage
Ah evet, bu benim sorunumun bir parçası ... Hangi kütüphanenin suçlayıcı kütüphane olduğunu nasıl bilebilirim? Ve dosya kütüphanemde bulunan kütüphane nerede? Hangi Jar'ın bir JNA kitaplığına sahip olduğunu nasıl bilebilirim? İkinci öneriyi denedim: jna.nosys = true ayarı ve hiçbir şey değişmedi. Ayrıca, Gradle jna.boot.library.path öğesini, özel jnidispatch kütüphanesinin kullanılması için ayarlar, bu yüzden başka bir kavanozda başka bir dağıtım kütüphanesi varsa veya olmasın bana açık değildir. – Jason
Gradle'ın neden çıkartılmış bir jnidispatch.dll ile birlikte geldiğinden emin değil. Jna.boot.library.path'ın bir denemeye değer olduğunu söyleyebilirim (jna.nosys öğesi yok sayılırsa) – user2543253